更新安马蒂爵士 你好先生,谢谢你回答我的问题 我将此代码添加到
页面加载
string eventTarget = this.Request["__EVENTTARGET"];
if (eventTarget == "DeleteRecord")
{
Label1.Text = "Method called!!!";
// Delete your record here
}else
{
Label1.Text = "No method";
}
在页面加载(运行时)时,label1 将其文本更改为“无方法”
然后我点击了按钮,然后弹出窗口出现了。我选择了"is"按钮,但什么也没发生,甚至没有关闭弹出窗口
为了检查 javascript 是否正常工作,我更改了此代码
__doPostBack("删除记录", '');
到
$("[id*=btnadd]").click();
单击弹出窗口的"is"按钮后,单击按钮 BTNADD
先生,我的问题是为什么要这样做 __doPostBack("DeleteRecord", '');对我不起作用吗?我什至尝试了一些在线发布的教程,但它仍然是一样的
<小时/>这是 JavaScript 函数:
<script type="text/javascript">
$(function () {
//$("[id*=btnDelete]").removeAttr("onclick");
$("[id*=btnDelete]").removeAttr("onclick");
$("#dialog").dialog({
modal: true,
autoOpen: false,
title: "Confirmation",
width: 350,
height: 160,
buttons: [
{
id: "Yes",
text: "Yes",
click: function () {
$("[id*=btnDelete]").attr("rel", "delete");
$("[id*=btnDelete]").click();
}
},
{
id: "No",
text: "No",
click: function () {
$(this).dialog('close');
}
}
]
});
$("[id*=btnDelete]").click(function () {
if ($(this).attr("rel") != "delete") {
$('#dialog').dialog('open');
return false;
} else {
__doPostBack(this.name, '');
}
});
});
</script>
这是背后的代码
protected void DeleteRecord(object sender, EventArgs e)
{
ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('Record Deleted.')", true);
}
HTML代码
<asp:Button ID="btnDelete" runat="server" Text="Delete" OnClick="DeleteRecord" UseSubmitBehavior="false" />
<div id="dialog" style="display: none">
Do you want to delete this record?
</div>
效果很好
但是我如何调用html表中的函数
<tr>
<td>
<%# DataBinder.Eval(Container.DataItem, "signatoryid") %>
</td>
<td>
<%# DataBinder.Eval(Container.DataItem, "signatoryname") %>
</td>
<td>
<%# DataBinder.Eval(Container.DataItem, "signatoryPosition") %>
</td>
<td>
<%# DataBinder.Eval(Container.DataItem, "signatoryOffice") %>
</td>
<td>
<button type="button" class="btndelete btn btn-xs btn-danger" OnClick="DeleteRecord">
<span class="glyphicon glyphicon-trash" aria-hidden="true"></span>Delete
</button>
</td>
</tr>
最佳答案
客户端
创建一个打开对话框的函数并在 onClick
中调用它事件:
<button type="button" class="btndelete btn btn-xs btn-danger" OnClick="javascript:deleteRecord();">
<span class="glyphicon glyphicon-trash" aria-hidden="true"></span>Delete
</button>
<script>
$(function () {
$("#dialog").dialog({
modal: true,
autoOpen: false,
title: "Confirmation",
width: 350,
height: 160,
buttons: [
{
id: "Yes",
text: "Yes",
click: function () {
__doPostBack("DeleteRecord", '');
}
},
{
id: "No",
text: "No",
click: function () {
$(this).dialog('close');
return false;
}
}
]
});
});
function deleteRecord(){
$("#dialog").dialog('open');
}
</script>
服务器端代码
如果做手工__doPostback()
您必须检索 EventTarget
和EventArguments
(如果有的话)在 Page_Load()
或Page_Init()
如果您愿意,当前页面的事件处理程序:
protected void Page_Load(object sender, EventArgs e)
{
string eventTarget = this.Request["__EVENTTARGET"];
if(eventTarget == "DeleteRecord")
{
// Delete your record here
}
}
关于javascript - 单击 html 表格内的按钮时如何调用 javascript 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33296987/