如何在ASP.NET中创建一个简单的是/否弹出窗口,将结果返回给我的c#?

使用ASP.NET,如何提示用户输入是/否问题并将结果返回给我的.ascx?

到目前为止,我可以使用Javascript打开一个确认对话框,但我无法返回值。 但我不知道这是不是正确的做法。

您可以使用标准JavaScript confirm()函数来显示弹出窗口,如果是或否,可以进行回发。例如:

 if (confirm('Question')) { __doPostBack('', 'Yes_clicked'); } else { __doPostBack('', 'No_clicked') } 

然后在Page_Load()方法的服务器上执行:

 if (IsPostBack) { var result = Request.Params["__EVENTARGUMENT"]; } 

您也可以通过将__doPostBack()函数的第一个参数指定为任何更新面板的ID来执行异步。

这样做不是一个好习惯。 您可以使用javascript和回发或回调结果到服务器进行确认。

但如果你想这样做,这将有助于你:

一个简单的ASP.NET服务器控件:消息框和确认框

将此添加到源头

function confirm_Edit(){if(确认(“你确定要编辑?”)== true)return true; 否则返回false; }

这样称呼它

如果您坚持使用webforms,另一种解决方案可能是AJAX控件套件。 只需创建一个ModalPopup并确认其中的按钮。

在这里阅读更多内容: http : //www.asp.net/ajax/ajaxcontroltoolkit/Samples/ModalPopup/ModalPopup.aspx

您需要使用ajax,或者回发到服务器。 您的c#代码是服务器端,javascript是客户端。 如果你使用asp.net的ajax扩展,你可以使用javascript页面方法 :

 PageMethods.YourMethod(confirm('your text'), OnSuccess, OnFailure); 

我用这个。 据我所知,它可以防止按钮事件的其余部分执行。

 btnMyButton.Attributes.Add("onClick", "return confirm('Are you really sure?')"); 

另一个选择是显示是/否:

  

从.net方面处理它:

 string confirmValue = ConfirmMessageResponse.Value; if (confirmValue == "Yes") {...}