使用javascript更改输入值

时间:2011-06-03 21:12:22

标签: c# javascript asp.net

我一直在寻找这个不起作用的原因,但我找不到一个。在我的asp.net应用程序中,我在c#中创建了一堆隐藏的输入,然后尝试在javascript中修改它们,然后再将它们调回服务器。

我的c#代码:

    hidden3 = new HtmlInputHidden();
    hidden3.ID = "total";
    hidden3.Value = index.ToString();
    this.Controls.Add(hidden3);

我的javascript代码:

     mod = document.getElementById("total");
     mod.value = newVal;

我可以将该值调回来,但不会改变。我还添加了原始值的警报,然后更改值后的值,它们都显示正常。但是,当我拉出值

时,代码永远不会改变

为了获得价值,我正在使用它;

    HtmlInputHidden hiddenControl = (HtmlInputHidden)FindControl("total");

2 个答案:

答案 0 :(得分:2)

您是否已将结果输入标记验证为“总计”的ID?默认情况下,在Webforms中,实际的客户端ID以父ID(和分隔符)为前缀;这有助于确保ID是唯一的。获取真正客户端Id的一种方法是从控件的ClientID属性中提取值,但是只有在将值放入Controls集合后才能查看该值。

答案 1 :(得分:1)

这些控件是动态创建的,必须在每次回发中创建。但是,这些应该在Page_Load之前构建,最好是在Page_Init事件处理程序中。如果这些是在Page_Load中创建的,则视图状态已经处理,并且无法从发布的值设置控件。