With ASP.NET, how do I prompt the user for a yes/no question and getting the 开发者_开发知识库result back to my .ascx?
So far I can open a confirmation dialog with use of Javascript, but I can't return the value. But I don't know if this is the right approach.
You can use standart JavaScript confirm()
function to show popup and do Post Back in case of Yes or No. For example:
if (confirm('Question')) {
__doPostBack('', 'Yes_clicked');
} else {
__doPostBack('', 'No_clicked')
}
Then on server in Page_Load()
method do:
if (IsPostBack)
{
var result = Request.Params["__EVENTARGUMENT"];
}
You can also do it async by specifying the first parameter of __doPostBack()
function as ID of any update panel.
This is not a good practice to do this. you can get your confirm using javascript and postback or callback result to server.
but if you want to do this, this will help you :
A Simple ASP.NET Server Control: Message Box & Confirmation Box
add this in head of source
function confirm_Edit() { if (confirm("Are you sure want to Edit?")==true) return true; else return false; }call it like this
If you insist on using webforms, another solution could be the AJAX Control kit. Simply create a ModalPopup and have you confirm buttons inside that.
Read more here: http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/ModalPopup/ModalPopup.aspx
You need to use ajax, or to make a postback to the server. Your c# code is server side and the javascript is client side. If you use the ajax extensions for asp .net you can use javascript page methods:
PageMethods.YourMethod(confirm('your text'), OnSuccess, OnFailure);
I use this. As far as I know it prevents the rest of the button event from executing.
btnMyButton.Attributes.Add("onClick", "return confirm('Are you really sure?')");
Another option is to show yes/no:
<script>
function AlertFunction() {
if (confirm('Are you sure you want to save this thing into the database?')) {
$('#ConfirmMessageResponse').val('Yes');
} else {
$('#ConfirmMessageResponse').val('No');
}
}
</script>
to handle it from .net side:
string confirmValue = ConfirmMessageResponse.Value;
if (confirmValue == "Yes")
{...}
string confirmValue = ConfirmMessageResponse.Value; showing error in this line when using in .net side
精彩评论