2014-11-05 94 views
2

我想用asp控件创建一个提醒框,可以吗?在c#asp.net中创建一个自定义提醒框

例如,一个简单的脚本警报会是什么样子,

Response.Write("<script>alert('Alert Box');</script>"); 

在警告框,也有默认的按钮“确定”文本“警告框”

“取消”现在所有我想要做的就是调用一个写在各个Demo.aspx.cs页面上的函数,点击提醒按钮。

或者

是否有可能放置asp:Button控制在警告对话框调用该函数?

如果有人能帮忙,谢谢! :)

+0

检查HTTP: //sackoveroverflow.com/questions/3831366/display-a-yes-no-alert-box-in-c-sharp-code-behind?rq=1 – Mate 2014-11-05 04:06:57

回答

3

您不能在JavaScript警报中使用asp:Button,在asp.net中创建警报或模式对话框的最佳方法是创建您自己的并使其隐藏或在主页面中处于非活动状态并调用它当你需要它时。

你可以得到一个现成的模式或警报在GetBootstrap

更新: 这里是一些知道如何使用引导模式。

这是我如何使用GetBootstrap Modal for asp.net webforms,你可以使用它,如果你想。

下面的代码用于创建一个自定义警报或模式框与正确的asp.net按钮控件,您可以在后端使用。 “你可以在母版页把这个防止重复”

<asp:Panel ID="pnlAlertBox" runat="server" style="position:absolute;top:0;> //You can make is visible or hidden -- you need to customize the style of panel 
     <div class="modal-dialog"> 
      <div class="modal-content"> 
       <div class="modal-header"> 
        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> 
        <h4 class="modal-title" id="myModalLabel">This is customize alertbox</h4> 
       </div> 
       <div class="modal-body"> 
        This is the messages... 
       </div> 
       <div class="modal-footer"> 
        <asp:Button ID="btnCancel" runat="server" CssClass="btn btn-default" Text="Cancel" /> 
        <asp:Button ID="btnOk" runat="server" CssClass="btn btn-primary" Text="Ok" /> 
       </div> 
      </div> 
     </div> 
</asp:Panel> 

enter image description here

当然你需要包括getboostrap在母版页.js.css文件显示设计。

将此放在头:

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet"> 

将这种形式后:

<!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
<!-- Include all compiled plugins (below), or include individual files as needed --> 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js"></script> 
+0

是的,你可以。看到我的答案。 – sh1rts 2014-11-05 04:36:28

+0

@ sh1rts好的,警告框已弹出... ...但有些东西不见了? asp.net控件。 – 2014-11-05 04:52:18

0

没有重定向页面,报警代码

ScriptManager.RegisterStartupScript(this, this.GetType(), "showalert", "alert('Demo');", true); 

与重定向页面

ScriptManager.RegisterStartupScript(this, this.GetType(), "err_msg", "alert('Demo');window.location='Demo.aspx';", true); 
1

这是Abrar Jahin的答案的固定版本。调用e.preventDefault()会阻止正在执行的默认操作,即提交表单。

下显示上单击警报,然后提交表单: -

$("#alert_button").click(function(e) 
{ 
    alert('This is a custom alert box', 'Alert Dialog'); 
}); 

编辑:

如果你想要把一个特定功能在您的网页,你有几个选项: -

  • 一个PageMethod的或HttpHandler的
  • 在您的客户端代码,调用ASP.NET生成__doPostback功能,并传递参数指示做什么到你的服务器端代码
+0

请阅读“我想创建一个带有asp控件的警告框”的问题。 – 2014-11-05 04:50:39

+0

谢谢我的确读过它,而我的答案已被标记为答案。 – sh1rts 2014-11-05 04:54:34

+0

恭喜,你可以预测未来。 – 2014-11-05 05:01:31

0

您可以使用JavaScript的OnClientClick事件处理程序内的按钮

<asp:Button ID="Button1" runat="server" Text="Delete User" 
    OnClientClick="return confirm('Are you sure you want to delete this user?');" />