3

在 WinForms 中,我可以这样做:

var msg = MessageBox.Show("Are you sure?", "WARNING!", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2);

if (msg == DialogResult.Yes)
{
    //do something
}

如何在 ASP .NET/C# 中模仿上述内容?

4

8 回答 8

2

简短的回答是你不能。原因是你在服务器上执行的代码并没有直接映射到客户端。因此,您无法创建可在服务器上使用的交互式消息框来获取用户的响应。

您可以做的是使用客户端 jquery,然后根据他们的响应发出新请求。但是,这与在 WindowsForms 中使用 MessageBox 不同,因为它要求您让方法完全完成,然后根据全新的请求采取行动。

于 2012-10-04T22:11:12.563 回答
1

您始终可以使用JQuery 模态对话框

对话框定义:

<div class="ui-dialog ui-widget ui-widget-content ui-corner-all ui-draggable ui-resizable">
   <div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix">
      <span id="ui-dialog-title-dialog" class="ui-dialog-title">Dialog title</span>
      <a class="ui-dialog-titlebar-close ui-corner-all" href="#"><span class="ui-icon ui-icon-closethick">close</span></a>
   </div>
   <div style="height: 200px; min-height: 109px; width: auto;" class="ui-dialog-content ui-widget-content" id="dialog">
      <p>Dialog content goes here.</p>
   </div>
</div>

对话框打开(只是一个例子):

$(foo).dialog({ autoOpen: false })
于 2012-10-04T22:07:09.540 回答
1

您无法从服务器端显示对话框。您可以使用 JavaScript 执行此操作。如果你想要它的样式,我推荐使用jQuery 的对话框

于 2012-10-04T22:08:53.267 回答
1

如果您使用的是 asp:LinkBut​​ton

<asp:LinkButton id="btnSubmit" runat="server" OnClick="btnSubmit_Click" />

在后面的代码中:

public void Page_Load(object sender, EventArgs e)
{
    this.btnSubmit.Attributes.Add("onclick", "javascript: return confirm('Are you sure?');");
}

public void btnSubmit_Click(object sender, EventArgs e)
{
    //Run code. User already confirmed to get here.
}
于 2012-10-04T23:30:02.277 回答
1

你可以使用这个jquery插件

于 2012-10-04T22:17:50.357 回答
0

您可以使用 ASP.NET AJAX 来实现它

http://www.asp.net/ajaxlibrary/act_ConfirmButton.ashx

于 2012-10-04T22:14:19.157 回答
0

另一个解决方案是使用 Bootstraps 版本...我发现它很容易实现并且喜欢添加的效果。

我有一个链接按钮

    <asp:LinkButton ID="btnDelete"
          runat="server"
          CssClass="btn btn-lg btn-primary"
          Visible="true"
          ToolTip="Delete Task"
          data-toggle="modal"
          data-target="#DeleteModal">
          <span class="glyphicon glyphicon-trash"></span>
    </asp:LinkButton>

和删除模态 div

<!-- Delete Modal Begin-->
<div class="modal fade" id="DeleteModal" role="dialog">
    <div class="modal-dialog modal-sm">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h4 class="modal-title">Delete Task</h4>
            </div>
            <div class="modal-body">
                <p>Are you sure you want to delete task?</p>
            </div>
            <div class="modal-footer">
                <asp:Button ID="Button1" runat="server"
                    OnClick="btnDelete_Click"
                    CssClass="btn btn-primary"
                    Text="Delete" />
                <button type="button" class="btn btn-primary" data-dismiss="modal">Close</button>
            </div>
        </div>
    </div>
</div>
<!-- Delete Modal End -->

引导模式示例

引导模态参考

于 2018-10-11T23:27:43.763 回答
0

这是如何显示对话消息的基本示例:

Page.RegisterStartupScript("UserMsg", "<script>alert('this is my message :) !');</script>");
于 2015-10-08T21:28:33.263 回答