我有一个文本框
<asp:textbox runat="server" id="checkIn" ClientIDMode="Static" ReadOnly="true">
</asp:textbox>
文本框中的文本通过Jquery DatePicker输入。在后面的一些代码中,我正在从这个文本框中获取文本。
string x=checkIn.Text;
为什么我不能从文本框中提取输入的日期?我猜这是因为它是只读的,因为当我删除它时它有效吗?
任何人都可以帮助我吗?
答案 0 :(得分:9)
在ASP.Net中,如果更改了readonly值,它将恢复为回发上的原始值。
但是,您可以使用wrokaround,而不是以声明方式指定readonly
,将其指定为代码隐藏中的属性。即。
而不是
<asp:textbox runat="server" id="checkIn" ReadOnly="true"...
应用这是代码隐藏
checkIn.Attributes.Add("readonly", "readonly");
但是,视图状态仍然可能不适用于此。
更多信息:
HTML中的readonly
和disabled
控件之间存在细微差别。 disabled
将不会随表单一起提交,readonly
将会提交。从字面上看,readonly
只是只读,但disabled
实际上是已禁用。
来自W3C:http://www.w3.org/TR/html401/interact/forms.html#h-17.12
(请参阅第17.13.2节“17.13表格提交下的成功控制”)
但是,如果控件被声明为,即在init期间设置了属性,则ASP.Net会在回发时恢复为原始值。这就是为什么稍后设置属性(在页面加载中)不会影响此行为的原因。答案 1 :(得分:2)
使用此: -
<input type="text" readonly="readonly" runat="server" id="checkIn" clientidmode="Static"/>
而不是: -
<asp:textbox runat="server" id="checkIn" ClientIDMode="Static" ReadOnly="true"></asp:textbox>
答案 2 :(得分:2)
将以下代码写入代码隐藏文件,asp.net .cs或类文件以及.vb文件中的vb。
您必须在页面加载事件中写入它,具体取决于您在回发之前或之后是否需要它或不论两者都... ...
textbox.Attributes.Add(“readonly”,“readonly”);
答案 3 :(得分:1)
在通过jQuery或Java-Script发布值之前,尝试将readonly
设置为false。它应该工作。
$('#tbox').removeAttr('readonly');
假设我有asp:button
然后在客户端点击我需要调用一个从文本框中删除只读属性的函数。
<asp:Button ID="MessageButton" runat="server" Text="Hellow"
OnClientClick="return changeAttribute()" />
<asp:textbox runat="server" id="checkIn" ClientIDMode="Static" ReadOnly="true">
</asp:textbox>
并在javascript中更改属性函数如下
function changeAttribute()
{
$('#checkIn').removeAttr('readonly');
return true;
}
答案 4 :(得分:1)
您也可以在asp:TextBox控件中关闭readOnly属性并使用jquery $('#textbox')。attr('readOnly','readOnly')。
答案 5 :(得分:0)
在asp.cs页面中应用:AttrName.Attributes.Add(&#34; readonly&#34;,&#34; readonly&#34;);
答案 6 :(得分:0)
请使用:
Request.Form [txtText.UniqueID]
答案 7 :(得分:0)
如果只读文本框在表单中,则实际上可以得到它的值。
var text = Page.Request.Form[TextBox.UniqueID];
很抱歉,此回复已晚了几年!
答案 8 :(得分:0)
我在jQuery上也遇到了同样的问题,但是有一个技巧:
$('#txtBoxID').removeAttr('readonly');
/// Do your stuff here..
$('#txtBoxID').add('readonly');
;)