如您所料,CommandArgument
是服务器控件的服务器端属性,Button
您不能从客户端代码分配它,因为它不呈现相应的 HTML 属性。但是,您可以使用以下功能从客户端设置回发__doPostBack()
:
<script>
var facility_id = 50;
$('#something').click(function () {
__doPostBack("<%= submitBtn.UniqueID %>", facility_id);
});
</script>
背后的代码
protected void submitBtn_Click(object sender, EventArgs e)
{
// assumed 'facility_id' is an int? or Nullable<int> property,
// make sure the event argument is parseable to integer value
var evArg = int.Parse(Request.Form["__EVENTARGUMENT"]);
facility_id = evArg;
}
如果__doPostBack()
由于页面上未定义而无法使用函数,则可以处理PreRender
该页面的事件并提供GetPostBackEventReference()
方法:
protected void Page_PreRender(object sender, EventArgs e)
{
ClientScript.GetPostBackEventReference(submitBtn, string.Empty);
}