【问题标题】:MessageBox.Show() with Yes or No confirmation? [duplicate]MessageBox.Show() 确认是或否? [复制]
【发布时间】:2014-02-08 11:53:44
【问题描述】:

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页面..我该怎么写?

【问题讨论】:

  • 我不太明白。 您希望在哪里显示您的消息框?在用户的浏览器中?
  • 你想在哪里显示你的消息框
  • 我想为 Gridview 更新显示此消息,当用户单击更新时,它会检查数据库值,如果退出或没有确认消息..
  • 请编辑您的问题并添加此部分,以便问题更加明显

标签: c# asp.net messagebox


【解决方案1】:

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

喜欢这个

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

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

请以任何方式显示您需要在何时何地显示您的消息

编辑

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

  1. 您将使用 ajax,以便无需回发即可向用户显示消息
  2. 或者您进行回发并在服务器中进行检查,然后使用 ScriptManager 向用户显示消息框

无论哪种方式,您都不能通过调用 winForms API 在浏览器中使用本机 Windows 消息框来执行此操作,让浏览器代替您完成此工作

编辑 2

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

OnUpdating="SqlDataSource1_Updating"

You can review the event from here

【讨论】:

  • gridview 控件内
  • 我已经告诉过你,如果你想在检查数据库后告诉用户结果,你需要从服务器而不是从 html 页面进行,之后你可以向用户使用答案中描述的 Scriptmanager 告诉他结果
【解决方案2】:

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

【讨论】:

  • 这里,我想为 Gridview 更新显示此消息,当用户单击更新时,它会检查数据库值,如果退出与否..
  • 你可以在那里编写一个javascript脚本函数并使用Page.RegisterStartupScript调用它,所以当你点击更新时,你应该调用这个函数并得到响应
【解决方案3】:

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

但是在 javascript 中,你可以创建类似 MessageBox 的东西

对于是否:

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

为了还好:

alert("Hi");

ok 变量中,您将根据用户输入判断为真或假。

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

当然,在添加适当的 dll 之后,您可能获得 Intellisense,但没有用。

【讨论】:

    猜你喜欢
    • 2017-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-25
    • 2010-10-14
    • 1970-01-01
    相关资源
    最近更新 更多