在gridview中动态设置控件的属性

时间:2011-09-27 10:42:17

标签: asp.net gridview

我有一个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中控件属性的值?

1 个答案:

答案 0 :(得分:1)

多行文本框不能包含MaxLength。 虽然你不会得到任何错误,但它不起作用。

您可以尝试将文本框的TextMode更改为SingleLine以查看它是否有效。