Javascript 在第二次回发后使用附加的c#字符串触发JS函数
我有一个asp按钮:Javascript 在第二次回发后使用附加的c#字符串触发JS函数,javascript,c#,asp.net,Javascript,C#,Asp.net,我有一个asp按钮: <asp:Button ID="btnConfirm" runat="server" OnClick = "OnConfirm" Text = "Raise Confirm" /> 我在代码中触发了这个JS函数 “触发器”后面的代码: JS功能: function confirmDeletion(str) { var confirm_value = document.createElement("INPUT"); confirm_value.t
<asp:Button ID="btnConfirm" runat="server" OnClick = "OnConfirm" Text = "Raise Confirm" />
我在代码中触发了这个JS函数
“触发器”后面的代码:
JS功能:
function confirmDeletion(str) {
var confirm_value = document.createElement("INPUT");
confirm_value.type = "hidden";
confirm_value.name = "confirm_value";
if (confirm("Do you want to delete Event: " + str + " ?")) {
confirm_value.value = "Yes";
} else {
confirm_value.value = "No";
}
document.forms[0].appendChild(confirm_value);
如果我使用以下语法,则只有在第二次单击后事件才能正常工作:
this.btnConfirm.Attributes.Add("onclick", "confirmDeletion('" + eventIDel + "');");
但是,如果我使用与原始语法类似的语法,它以NULL开头,而不要求确认,然后它将用户的决定存储在确认上,并在用户下次按下按钮时使用它
非常感谢您的帮助。经过大量研究,我明白如果我从代码后面调用JS函数,页面周期将始终将其放在末尾。对我来说,理想的方法是在ASP按钮上调用JS函数,默认情况下会首先触发该按钮。 ASP按钮
<asp:Button ID="BtnDelete" runat="server" Text="Delete" onclick="btnDelete_Click" class="buttons" Visible="true" disabled="disabled" OnClientClick="if (!deleteRow()) return false;" />
这意味着如果用户选择yes,它将进入负责删除的C#方法
万岁
this.btnConfirm.Attributes.Add("onclick", "confirmDeletion('" + eventIDel + "');");
<asp:Button ID="BtnDelete" runat="server" Text="Delete" onclick="btnDelete_Click" class="buttons" Visible="true" disabled="disabled" OnClientClick="if (!deleteRow()) return false;" />
function deleteRow() {
// Get Gridview
var gridView = document.getElementById("<%= GridView1.ClientID %>");
// Loop through the Gridview
for (var i = 1; i < gridView.rows.length; i++) {
// Get the radio button of each row in the gridview and see if its checked
if (gridView.rows[i].cells[0].getElementsByTagName("INPUT")[0].checked == true)
// Get Event ID value from 1st cell of rowReturn Answer
return confirm("Are you sure you want to delete Event ID: " + gridView.rows[i].cells[1].innerText + "?");
}
}
OnClientClick="if (!deleteRow()) return false;"