如何使用ASP .NET创建对话框消息框?

时间:2012-10-04 22:05:41

标签: c# asp.net dialog

在WinForms中,我可以这样做:

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

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

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

8 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

您始终可以使用JQuery Modal Dialogs

对话框定义:

<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 })

答案 2 :(得分:1)

您无法从服务器端显示对话框。你可以使用JavaScript来做到这一点。如果你想要它的样式,我建议使用jQuery's dialog

答案 3 :(得分:1)

您可以使用this jquery插件

答案 4 :(得分: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.
}

答案 5 :(得分:0)

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

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

答案 6 :(得分:0)

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

Page.RegisterStartupScript("UserMsg", "<script>alert('this is my message :) !');</script>");

答案 7 :(得分: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>

和删除模态部门

<!-- 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 -->

bootstrap modal example

bootstrap modal reference

相关问题