Javascript 在JS中将参数作为事件参数传递给代码隐藏

Javascript 在JS中将参数作为事件参数传递给代码隐藏,javascript,asp.net,html,aspbutton,Javascript,Asp.net,Html,Aspbutton,我在每行上使用了一个asp:按钮,将“ID”传递给“lvDataStores\u OnButtonClick()”后面的代码 我不想点击按钮,而是想让整行都可以点击。我已经使用 <tr runat="server" class="altItemTableData" onclick='<%#"doPostBack("+Eval("ID")+")" %>'> CommandArgument完全是一个服务器端属性,不呈现任何html属性。所以你不能改变任何按钮的属性并点击它

我在每行上使用了一个asp:按钮,将“ID”传递给“lvDataStores\u OnButtonClick()”后面的代码

我不想点击按钮,而是想让整行都可以点击。我已经使用

<tr runat="server" class="altItemTableData" onclick='<%#"doPostBack("+Eval("ID")+")" %>'>


CommandArgument完全是一个服务器端属性,不呈现任何html属性。所以你不能改变任何按钮的属性并点击它。好消息是,您可以使用客户端uu doPostBack函数启动回发,并将自定义值作为第二个参数传递:

<script type="text/javascript">
    $("a").click(function () {
        var val = $(this).attr('id').toString();
        __doPostBack("<%= btn1.UniqueID %>", val);
    });
</script>
若上面的脚本不起作用,那个么可能是第页并没有定义doPostBack函数。在本例中,将此代码添加到Page_PreRender方法:ClientScript.GetPostBackEventReference(btn1,string.Empty);这将强制页面在页面上定义uu doPostBack方法

<asp:Button ID="btn_ViewMap" runat="server" visible="false" CommandName="View" CommandArgument='<%#Eval("ID")%>' OnCommand="lvDataStores_OnButtonClick" />
<script type="text/javascript">
    $("a").click(function () {
        var val = $(this).attr('id').toString();
        __doPostBack("<%= btn1.UniqueID %>", val);
    });
</script>
protected void button_click(object sender, EventArgs e)
{
    var argument = Request.Form["__EVENTARGUMENT"];
}