它不工作。我删除了 ReadOnly="true" 并在代码中添加了以下行 txtContractStartDa-6ren">
gpt4 book ai didi

c# - ReadOnly=true 和 TextBox1.Attributes.Add ("readonly", "readonly") 在 ASP.NET 中有什么区别?

转载 作者:行者123 更新时间:2023-11-30 15:22:16 35 4
gpt4 key购买 nike

我有一个只读的文本框,但想回发它的值。之前我将代码设置为:

<asp:TextBox ID="textbox1" runat="server" ReadOnly="true">/asp:TextBox>

它不工作。我删除了 ReadOnly="true" 并在代码中添加了以下行

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

为什么它开始回发数据?

最佳答案

ReadOnly 属性设置为 true includes the attribute being set :

if (ReadOnly) {
writer.AddAttribute(HtmlTextWriterAttribute.ReadOnly, "readonly");
}

但是,该属性也会影响回发行为。它只会在 not readonly 时将文本保存在 View 状态中(原始代码缩短):

private bool SaveTextViewState {
get {
if (TextMode == TextBoxMode.Password) {
return false;
}
if (Events[EventTextChanged] != null || !IsEnabled || !Visible || (ReadOnly) || this.GetType() != typeof(TextBox)) {
return true;
}
return false;
}
}

并且控件也只尝试to restore it在这种情况下:

protected virtual bool LoadPostData(string postDataKey, NameValueCollection postCollection) {
// …

if (!ReadOnly && !current.Equals(postData, StringComparison.Ordinal)) {
Text = postData;
return true;
}
return false;
}

关于c# - ReadOnly=true 和 TextBox1.Attributes.Add ("readonly", "readonly") 在 ASP.NET 中有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36007304/

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