【发布时间】:2020-11-24 03:08:05
【问题描述】:
我正在尝试为 jquery 表 Datatables.net 创建删除功能并调用 C# 方法。看来我无法将行 id 值传递给服务器。有什么想法吗?
{
'data': "docid",
"render": function (data, type, row) {
if (data != null)
console.log(row.docid);
return '<asp:Button ID="test" runat="server" CommandArgument=' + row.docid + ' CommandName="btnclick" OnClick="DeleteRequest" />'
}
},
protected void DeleteRequest(Object sender, EventArgs e)
{
Button btn = (Button)sender;
switch (btn.CommandName)
{
case "btnclick":
obj.deleteRequestDraft(Convert.ToInt32(btn.CommandArgument.ToString()));
break;
}
}
【问题讨论】:
-
<asp:Button ID="test" runat="永远不会工作,因为 JS 是客户端的问题。 JS 无法呈现这样的服务器端控件。 -
但它在我设法调用服务器端方法的地方工作。只是 btn.CommandArgument.ToString() 是空的..
-
请在浏览器中查看源代码并向我们展示
return '<asp:Button ID="test" runat="server" CommandArgument=' + row.docid + ' CommandName="btnclick" OnClick="DeleteRequest" />'行在HTML中的样子。 -
return ''
-
所以,如您所见 -
CommandArgument已丢失。
标签: javascript c# jquery asp.net