MessageBox.Show()是否确认?

时间:2014-02-08 11:53:44

标签: c# asp.net messagebox

MessageBox.Show(),Windows窗体应用程序中显示是或否确认对话框。现在我想要显示与aspx.cs页面中的相同...我在这里添加了哪个命名空间? 如果我引用System.Windows.Forms命名空间..我收到错误?

此Windows应用程序代码..

DialogResult result = MessageBox.Show("Do you want to save changes?", "Confirmation",
  messageBoxButtons.YesNoCancel);
 if(result == DialogResult.Yes)
  //...
 else if (result == DialogResult.No)
 //...
else
  //...

但是在aspx页面中......我可以写吗?

3 个答案:

答案 0 :(得分:1)

您可以使用ScriptManager从服务器的代码中注入javascript代码

像这样

var script = "alert(\'this is a message box\');";
ScriptManager.RegisterStartupScript(this, GetType(), "messageBox", script, true);

但是当你需要显示类似'你确定吗?'的消息框样式时,是的,你不需要使用confirm messageBox

请以任何方式显示您需要何时何地展示您的信息

修改

如果你想这样做,你将有两个解决方案

  1. 您将使用ajax,这样您就可以在不进行回发的情况下向用户显示消息
  2. 或者您进行回发并在服务器中进行检查,然后使用 ScriptManager
  3. 向用户显示消息框

    无论哪种方式,您都无法通过调用winForms API在浏览器中执行此操作来使用本机Windows消息框,让浏览器执行此作业而不是您

    编辑2

    如果您将DataSource与GridView一起使用,您可以在执行实际更新之前使用事件更新来检查用户编辑,如果您接受它,您可以执行更新,否则您可以拒绝它

    OnUpdating="SqlDataSource1_Updating"
    

    You can review the event from here

答案 1 :(得分:0)

可以通过在代码中使用system.windows.forms引用来完成。但是当你托管你的asp网站时它不会正常工作。使用java脚本是一个更好的主意

答案 2 :(得分:0)

在aspx.cs页面中没有消息框。它仅适用于Windows窗体。

但是在javascript中,你可以创建像MessageBox

这样的东西

对于YesNo:

var ok = confirm("Do you want to delete this ?");

只是好的:

alert("Hi");

ok变量中,根据用户输入,您将有真假。

即使有可能,我认为不会,但这样做是个坏主意。

当然,添加适当的dll之后,可能获取智能感知,但没有用。