我有一个gridview,它在itemtemplate中有一个文本框。我想动态设置此文本框的maxlength属性。
我现在的代码是 -
<asp:GridView ID="grd" runat="server" EnableViewState="true" AutoGenerateColumns="false"
OnRowDataBound="grd_RowDataBound" >
<Columns>
<asp:TemplateField HeaderText="Textbox">
<ItemTemplate>
<asp:TextBox ID="txtValue" Text="" runat="server" TextMode="MultiLine" Columns="8" Rows="3"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
我在RowDataBound事件处理程序中的代码 -
protected void grd_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
TextBox txtText = (TextBox)e.Row.FindControl("txtValue");
txtText.Text = "test"; //this works fine
txtText.MaxLength = 10; //this does not work.
}
}
有谁知道为什么我无法动态设置MaxLength属性?而且,如何动态设置gridview中控件属性的值?
答案 0 :(得分:1)
多行文本框不能包含MaxLength。 虽然你不会得到任何错误,但它不起作用。
您可以尝试将文本框的TextMode更改为SingleLine以查看它是否有效。