asp.net、c#.net只读字段

asp.net、c#.net只读字段,c#,asp.net,C#,Asp.net,我有一个文本框。文本框是只读的。并在第页加载自动显示的文本框 使用数据库中的值。我有一个“if”循环用于检查文本框值是否为null 或者没有。但我无法检索文本框值。这可能是什么原因? 我的网页代码是 <asp:TextBox ID = "text1" runat="server" ReadOnly="true" ></asp:TextBox> <asp:DropDownList ID="DropDownList1" runat="server" Visible="F

我有一个文本框。文本框是只读的。并在第页加载自动显示的文本框 使用数据库中的值。我有一个“if”循环用于检查文本框值是否为null 或者没有。但我无法检索文本框值。这可能是什么原因? 我的网页代码是

<asp:TextBox ID = "text1" runat="server" ReadOnly="true" ></asp:TextBox>
<asp:DropDownList ID="DropDownList1" runat="server" Visible="False">
</asp:DropDownList>`

但是DropDownList1不显示

问题是您无法回发只读或enabled=false的值。您必须找到其他方法将它们发布到服务器。

您可以尝试在文本框旁边放置一个隐藏的输入,并将runat属性设置为“server”,并在回发后检查输入的值(当然,您必须使用与文本框相同的值填充输入)。对我来说这似乎不是一个很好的决定,但这会起作用。

这可能是因为您的数据库可能包含空间值。 所以你不能将“”与“”比较
您只需尝试修剪文本框值,然后尝试进行比较。

当您说我无法检索值时,您的意思是什么?它是否引发任何错误?它是空的还是空的?我想检查if(textbox.text==“”)。但无法获取textbox值您的文本框似乎被称为
text1
而不是
textbox
可能的重复项我找到了此问题的解决方案。你能做的是。。。您可以隐藏字段,当您按下submit按钮时,首先通过javascript将只读文本字段复制到该隐藏字段中,然后在服务器上使用该隐藏值而不是文本框。这对我很有效!!!
if (text1.Text == "")
{
    DropDownList1.Visible = true;
}