文本框值更改未反映在c#后面的代码中

时间:2013-02-13 06:19:53

标签: c# javascript jquery .net-1.1 visual-studio-2003

我正在使用带有C#的.NET framework 1.1。我的问题描述如下。

  1. 我的服务器端文本框控件的id为:= txtFromDate 。视图状态已启用及其只读。
  2. 第一次加载页面时,我在上面的文本框中设置了当前日期值。
  3. 之后我用jQuery更改了文本框的值。
  4. 然后使用带有一些__EVENTTARGET参数的jQuery回发页面。
  5. 我在后面的代码中使用了此更改的文本框值。
  6. 我已经开发了带有1.1框架的Windows XP机器32位代码。但现在我已将整个站点放在.NET 2.0应用程序池中的Windows Server 2008 R2版本(64位)上

    问题:它在开发机器上运行良好。但在Windows Server 2008中,jQuery对文本框值的更改并未反映在代码背后。它保留了我在第一次加载页面时分配的旧值。

    我希望运行此应用程序,因为它在我的开发机器上运行。 总之,我想在Windows Server 2008机器上的代码隐藏中更改textbox的值。

    感谢。

4 个答案:

答案 0 :(得分:3)

我没有使用 txtFromDate.Text ,而是使用了 Request.Form [txtFromDate.ClientID] ,问题就解决了。

答案 1 :(得分:0)

虽然你总是可以使用set get方法来存储java脚本中的值...但是这里有一些简单的方法来解决它......

案例1 - 如果控制仅用于存储目的, 将display:none放在它的样式中,并在控件的属性中使visible = true。

案例2 - 如果要显示控制但是在禁用模式下放入ReadOnly =“true”而不是Enabled = true

例如..

<asp:textbox runat="server" ID="textbox1" Enabled="false"></asp:textbox> will not work

<asp:textbox runat="server" ID="textbox2" ReadOnly="true"></asp:textbox> will work

答案 2 :(得分:0)

clientIDMode="Static" 

将完美运作。

答案 3 :(得分:0)

除非对输入控件的值进行了更改,否则对服务器后面的代码无法访问对客户端控件所做的更改。 所以,youu也可以使用hiddenfield以及你想要在javascript / Jquery中更改的标签,然后将新标签值存储在hiddenfield中 然后,不是从代码隐藏中的标签读取值,而是从隐藏字段中读取它。

<asp:hiddenfied id="hdnLblValue" runat="server"/>