0

我有一个组件可以确定回发事件的值。

protected void Button_Click(object s, EventArgs e)
{
   HiddenField.Value = 5;
}

当然,值涉及的内容更多,但 HiddenField 是一个设置了 runat=server 的 asp:HiddenField 控件。我的 javascript 中有:

var id = $("#<%= HiddenField.ClientID %>").val();

javascript 中的代码设置为仅在回发发生(不同的客户端单击事件)后运行,目的是通过 QueryString 将隐藏字段值传递到另一个 URL(因为我无法在回发和无论如何,客户希望它在不同的页面中)。

我尝试添加:

ScriptManager.RegisterHiddenField(HiddenField, "Value", string.Empty);

到代码的 !Page.IsPostback 部分,但在运行 javascript 时仍未设置 ID。

4

2 回答 2

0

是一个类似的问题。也许你可以用它来修改你正在做的事情。

您是否需要像这样访问客户端 ID?只要它不在中继器或其他东西中,您应该能够为控件设置 ID 几乎没有问题。这可以简化你正在尝试做的事情。

在示例中,他们使用 getElementById 获取隐藏字段并仅传递 HiddenField 的 ID。

于 2010-07-29T21:52:38.400 回答
0

您可以在主页上添加一个全局 js 变量,然后设置该变量而不是隐藏字段。

页面.aspx

<script>
   var id='';
</script>

页面.aspx.cs

protected void btn_Click(object sender, EventArgs e)
{
   ScriptManager.RegisterStartupScript(Page, Page.GetType(), "updateJavaScriptId", "id='5';", true);
}
于 2010-08-18T15:34:57.630 回答