文本框值的更改没有反映在c#后面的代码中
textbox value change not being reflected in code behind c#
我使用的是带有C#的.NET framework 1.1。我的问题描述如下。
- 我有服务器端的文本框控件,id为:=txtFromDate。视图状态已启用且为只读
- 当页面第一次加载时,我正在上面的文本框中设置当前日期值
- 之后,我用jQuery更改了textbox的值
- 然后使用带有一些__EVENTTARGET参数的jQuery返回页面
- 我在代码隐藏中使用了这个更改后的文本框值
我已经在windows XP机器上用1.1框架开发了32位代码。但现在我已经把整个网站放在了WindowsServer2008R2版本(64位)的.NET2.0应用程序池中
问题:它在开发机器上运行良好。但在windowsserver2008中,jQuery对文本框值的更改并没有反映在代码后面。它保留了我第一次加载页面时指定的旧值。
我想在我的开发机器上运行这个应用程序。简言之,我也想在windows服务器2008的机器上获得代码隐藏中文本框的更改值。
谢谢。
我没有使用txtFromDate.Text,而是使用Request.Form[txtFromData.ClientID]并解决了问题。
除非对输入控件的值进行了更改,否则服务器上的代码后台无法访问您对客户端控件所做的更改。因此,您还可以在javascript/Jquery中使用hiddenfield和要更改的标签,然后将新标签值也存储在hiddenfield中然后,从hiddenfield中读取值,而不是从codebehind中的标签中读取值。
<asp:hiddenfied id="hdnLblValue" runat="server"/>
尽管您可以始终使用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
clientIDMode="Static"
将完美工作。
需要牢记
-
如果有服务器控件示例:TextBox。从Aspx Page或Code behind禁用或只读。
-
它的值正在从JQuery或Javascipt更改。
-
你试图从代码后面获得这个控件的更改值,然后你永远不会得到它
-
当您发布回该控件时,服务器将验证该属性(如果它是Disabled或ReadOnly,则服务器将不会接受该控件的更改值。
-
您需要使用隐藏字段并使用此控件的更改值填充此隐藏字段。
<asp:HiddenField runat=";服务器";ID=";hdnTextBoxValue"/>
您需要将JQuery或Javascript更改后的值设置为hiddenField,然后从Code-behind获取值
- d3js文本传输-示例代码不起作用
- 用于用户内容的简单代码编辑器/文本格式化程序(在Rails中)
- 使用.format在一些HTML代码中插入文本,会出现错误(Python)
- html代码需要可点击的文本按钮
- 使用Javascript代码在文本框上激发退格事件
- 用js代码重新定位文本
- 通过从文本区域获取代码,在画布中运行处理代码
- html或java脚本代码在硬盘中创建一个文本文件
- 用于更改链接文本的字体颜色的代码
- 在Asp.net的TextBox中插入所需文本的java脚本代码
- php代码或脚本接受自动完成列表中文本框中的值
- 使用 jQuery 检查文本可见性 .包含代码的行为不符合预期
- 修复Javascript代码以将文本中的所有Youtube链接转换为Youtube ID功能
- 从一个文本框执行代码,并在另一个文本框中以 HTML 显示输出
- MVC 4:使用 JQUERY 和 PartViewResult 动态创建 HTML 文本框.如果代码是动态添加的,如何
- 实现复制和粘贴代码/文本检测
- 如何从代码文本加载模块
- 正在寻找JavaScript或jQuery中的代码文本框库
- 在ajax请求后传递代码文本
- 我如何摆脱在我的JavaScript代码文本框中的NaN