我想在 asp.net aspx 的 onclientclick 事件中評估函式內的引數,并在 onclientclick 事件中添加 return false 以便頁面不會重繪
onclientclick 事件是一個鏈接按鈕
我想在點擊時顯示一個模態
<asp:LinkButton runat="server" ID="lnkFile" OnClientClick='<%# Eval("Path", "ShowModal({0}); return false;") %>' CssClass="card-body" >
uj5u.com熱心網友回復:
好的,你真的應該發布一些示例代碼。
請記住,您只能為此使用確認(js)。
您不能使用 jQuery.UI 對話框或類似對話框(因為它們不會停止代碼)。
所以,如果你輸入一個像這樣的簡單按鈕:
<asp:Button ID="Button1" runat="server" Text="Button" Width="118px"
OnClientClick="return confirm('delete this');"/>
所以上面會彈出一個確認對話框,如下所示:

如果用戶點擊確定,那么您的服務器端客戶端代碼將運行。如果用戶點擊取消,則按鈕不會運行。所以這對于確認對話框非常有用 - 比如某些洗掉按鈕或類似的按鈕。
但是,您不能使用 jQuery.UI 或某些 wiget 對話框加載項執行上述操作,因為這些對話框不會停止代碼。但是,您仍然可以使用一些 JavaScript 對話框添加或提示,但您必須稍微修改其作業方式。
但是,用于確認提示的 confirm('some message') 將起作用,并且如上所述,如果用戶點擊取消,則服務器端按鈕事件代碼將不會觸發或運行。
您當然也可以在該客戶端 oncclient 事件中傳遞值/引數,但這取決于何時何地(這是資料系結控制元件嗎?)。因此,何時何地添加上述內容需要一些背景關系。
說這可能是 gridview 或類似的?
現在,如前所述,您實際上只能以這種方式使用 confirm() 。如果我們使用一些對話系統,則需要不同的方法。
我確實建議你選擇一個,學習它,并堅持下去。
我建議使用 jQuery.UI。默認情況下,您的站點很有可能使用 jQuery,因此添加 jQuery.UI 以獲得漂亮的對話框并不是那么多額外的作業。
所以,現在,讓我們用一個 jQuery.UI 模態對話框來做這件事。
我們將有這個標記:
<link href="https://code.jquery.com/ui/1.12.0/themes/smoothness/jquery-ui.css" rel="stylesheet" />
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.0/jquery-ui.min.js"></script>
<asp:Button ID="cmdDelete" runat="server" Text="Delete record" Width="118px"
OnClientClick="return mydelprompt(this)"/>
<br />
<div id="mydeletediv" style="display:none">
<h2>Do you really want to delete this</h2>
</div>
<script>
mydelpromptok = false
function mydelprompt(btn) {
if (mydelpromptok) {
mydelprompt = false
return true
}
myDialog = $("#mydeletediv")
myDialog.dialog({
title: 'Confirm delete',
modal: true,
width: '400px',
appendTo: "form",
position: { my: "left top", at: "right bottom", of: btn },
buttons: {
Delete : function () {
myDialog.dialog('close')
mydelprompt = true
btn.click()
},
cancel: function () {
myDialog.dialog('close')
}
}
})
return false
}
</script>
我們現在得到了這個:

現在,您可以自由地在該提示 div 中放置任何您想要的內容 - 甚至圖片 - 甚至文本框、復選框等。因此,您在該 div 中放置的任何內容都將顯示在對話框中。
如果用戶點擊洗掉,則服務器端按鈕點擊將觸發。如果他們點擊取消,則后面代碼的按鈕單擊代碼將不會運行。
uj5u.com熱心網友回復:
它適用于以下代碼:
<button class="col-12 btn btn-outline-info card-body" type="button" onclick='ShowModal(" <%# Eval("Path") %> ");' > </button>
無需使用鏈接按鈕和 runat="server"
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/337974.html
標籤:javascript C# asp.net
下一篇:如何將txt檔案內容添加到文本框
