我有一个组件可以确定回发事件的值。
protected void Button_Click(object s, EventArgs e)
{
HiddenField.Value = 5;
}
当然还有更多的参与价值,但HiddenField是一个带有runat = server set的asp:HiddenField控件。我有我的javascript:
var id = $("#<%= HiddenField.ClientID %>").val();
javascript中的代码设置为仅在回发发生后运行(另一个客户端点击事件),目的是通过QueryString将隐藏字段值传递给另一个URL(因为我无法进行响应重定向)在回发上,客户希望它在不同的页面中。)
我尝试添加:
ScriptManager.RegisterHiddenField(HiddenField, "Value", string.Empty);
到代码的!Page.IsPostback部分,但在运行javascript时仍未设置ID。
答案 0 :(得分:0)
Here是一个类似的问题。也许你可以用它来修改你正在做的事情。
您需要像这样访问客户端ID吗?只要不在转发器或其他东西中,您就应该能够设置控件的ID,几乎没有问题。这可以简化你想要做的事情。
在示例中,他们使用getElementById来获取隐藏字段,并只传递HiddenField的ID。
答案 1 :(得分:0)
您可以在主页面上添加全局js变量,然后设置该变量而不是隐藏字段。
Page.aspx
<script>
var id='';
</script>
Page.aspx.cs
protected void btn_Click(object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "updateJavaScriptId", "id='5';", true);
}