2014-11-05 116 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?');" />