奇怪的ASP.. NET问题,试图找到包含在文本框中的值
本文关键字:包含 文本 ASP NET 问题 | 更新日期: 2023-09-27 18:13:36
我有一个表单与一些asp: textbox。用户可以在这些文本框中编辑文本,当按下SAVE按钮时,这些新值将被写入数据库。
我总共有3个文本框,前2个文本框的新值传递给后面的代码没有任何问题。然而,第三个文本框的旧内容被传递到服务器,而不是用户编辑的数据。
有问题的文本框的标记如下所示:
<asp:TextBox ID="descriptionBox" ReadOnly="true" style" runat="server" TextMode="MultiLine" Text='<%# Eval("Description") %>'></asp:TextBox>
下面是c#代码,它试图在用户编辑文本框后获取文本框的内容。请注意,这些文本框放置在Repeater中:
string description = ((TextBox)e.Item.FindControl("descriptionBox")).Text;
谁能提出问题是什么?其他文本框使用相同的标记和代码,它们工作得很好。
请参阅MSDN文档-是ReadOnly属性导致了这个问题:
ReadOnly属性设置为的TextBox控件的Text值当回发发生时,将True发送给服务器,但服务器不会未处理只读文本框。
另一种方法是在客户端执行:
descriptionBox.Attributes["readonly"] = "readonly"
也许这是因为你在TextBox上有以下属性:ReadOnly="True"!
编辑:太迟了,感谢Pointy的评论。:)