string LocalWorkSiteName = WorkSite.Site_Name;
System.Windows.Forms.MessageBox.Show("Are you sure you want to delete invoice " for " + LocalWorkSiteName);
1)为什么弹出窗口总是出现在浏览器后面?我希望它能够在浏览器前加载。
2)如何添加“是”和“否”按钮并删除当前的“确定”?所以在代码背后,如果'是'做一件事,如果'不'做另一件事:
if(yesIsPressed)
{
...
}
if(noIsPressed)
{
...
}
我是否采用了正确的方法,还是有更合适的方法?
修改 感谢回复人员...要去JS方面,但我可能需要一些帮助。 所以我的按钮:
<asp:Button runat="server" ID="RemoveInvoice" Text="Remove Invoice" OnClick="RemoveInvoice_Click" CssClass="FadeOutOnEdit" />
运行函数'RemoveInvoice_CLick'后面的代码...我可以让它运行JS或我是否需要将其更改为输入按钮然后从那里执行更新后面的代码
答案 0 :(得分:2)
也许是这样的:
DialogResult result1 = System.Windows.Forms.MessageBox.Show("Are you sure you want to delete invoice for " + LocalWorkSiteName,
"Important Question",
MessageBoxButtons.YesNo);
if(result1 == DialogResult.Yes) { ... }
if(resutl1 == DialogResult.No) { ... }
注*
但你不应该用 MessageBox :),因为那是桌面应用程序( System.Windows.Forms ),你应该使用一些jQuery或javascript它的代码。 它甚至不会在您的客户端显示,它只会在您的服务器上弹出。
您可以尝试使用jQueryUI Dialog
答案 1 :(得分:1)
您正在网页中加载Windows窗体消息框 - 这是桌面应用程序的控件,而不是Web应用程序。使用JavaScript弹出窗口(可以是Web控件)可能会更好。使用jQuery,您可以将回调附加到按钮的单击事件:
$("#buttonid").click(function() {
var answer = confirm("Are you sure you want to delete invoice for " + LocalWorkSiteName + "?");
if (answer)
{
// post to server-side
}
});
或者如果你想坚持使用ASP.net按钮控件,你可以在其标签中连接事件处理程序:
<asp:Button id="RemoveInvoice" runat="server" Text="Remove Invoice"
OnClick ="RemoveInvoice_Click"
OnClientClick="return confirm('Are you sure you want to delete invoice?');"
CssClass="FadeOutOnEdit" />
如果代码返回false,OnClientClick
属性将阻止服务器端事件触发,如果用户在调用confirm
时单击“取消”,则会发生这种情况。