如何在ASP.Net中将ItemTempleField设置为ReadOnly字段

时间:2014-08-26 16:44:35

标签: c# asp.net

我在gridview中有一个文本框,我想在ReadOnly上创建,但文本框现在已禁用,我想更改为ReadOnly,以便用户可以向上和向下滚动以查看该字段的所有内容。我基本上想要限制字段,以便用户不能输入任何内容,但同时它们应该能够向上和向下滚动。这就是我现在所拥有的:

foreach (GridViewRow gvr in GridView1.Rows)
{
    ((TextBox)gvr.FindControl("myTextBox")).Enabled = false;
}

感谢

2 个答案:

答案 0 :(得分:2)

readonly属性添加到控件中,而不是禁用它:

((TextBox)gvr.FindControl("myTextBox")).Attributes.Add("readonly", "readonly");

如果您设置.Enabled = false;.ReadOnly = true;,则不会回发任何值(我不假设您需要它们,但以防万一)。

答案 1 :(得分:0)

你应该只读取文本框... 如果将boundfield转换为模板字段,也可以这样做。

<EditItemTemplate>
       <asp:TextBox ID="Address" runat="server" Height="74px" ReadOnly="True" 
                        Text='<%# Bind("address") %>' TextMode="MultiLine" Width="182px"></asp:TextBox>
 </EditItemTemplate>

ReadOnly的值应为True而不是ReadOnly ok .. 即使您在运行时使用findcontrol执行此操作,也请使用True for ReadOnly。