gpt4 book ai didi

c# - 只读时无法获取带有文本框的文本?

转载 作者:行者123 更新时间:2023-11-30 18:56:39 26 4
gpt4 key购买 nike

我有一个文本框

<asp:textbox runat="server" id="checkIn" ClientIDMode="Static" ReadOnly="true">
</asp:textbox>

文本框中的文本是通过 Jquery DatePicker 输入的。在后面的一些代码中,我像这样从此文本框中获取文本。

string x=checkIn.Text;

为什么我无法从文本框中提取输入的日期?我猜这与它是只读的事实有关,因为当我删除它时它起作用了?

谁能帮帮我?

最佳答案

在 ASP.Net 中,如果更改了只读值,它将在回发时恢复为原始值。

但是您可以使用变通方法,而不是指定 readonly以声明方式,将其分配为代码隐藏中的属性。即

代替

<asp:textbox runat="server" id="checkIn" ReadOnly="true"...

应用这是代码隐藏

checkIn.Attributes.Add("readonly", "readonly");

但是,viewstate 仍然可能不适用于此。

更多信息:

readonly 之间存在细微差别和 disabled HTML 中的控件。 disabled不会与表格一起提交,但是 readonly那些会的。从字面上看,readonly只是只读,但是disabled实际上是禁用

来自 W3C:http://www.w3.org/TR/html401/interact/forms.html#h-17.12

(继续阅读 17.13 表单提交下的 17.13.2 成功控制)

但是,ASP.Net 会在回发时恢复为原始值,如果控件是这样声明的,即如果在初始化期间设置了属性。这就是为什么稍后(在页面加载中)设置属性不会影响此行为的原因。

关于c# - 只读时无法获取带有文本框的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19565009/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com