如何更改模板字段中控件的属性

本文关键字:控件 属性 字段 何更改 | 更新日期: 2023-09-27 18:31:07

我有一个模板字段,模板字段内有一个文本框和过滤文本框扩展器。我需要在 c# 代码隐藏中将过滤文本框扩展器的 ValidChars 属性从"123"更改为"abc"。模板字段位于网格视图中。我在 aspx 页面中使用了以下代码。

<asp:GridView ID="grdEducation" runat="server" AllowSorting="True" AutoGenerateColumns="False"
                        AllowPaging="false" CellPadding="4" GridLines="Vertical" OnRowDeleting="grdEducation_RowDeleting"
                        OnRowDataBound="grdEducation_RowDataBound" OnRowUpdating="grdEducation_RowUpdating" ShowFooter="false" ShowHeader="true">
                        <HeaderStyle CssClass="grid-header-style" />
                        <Columns>
                        <asp:TemplateField HeaderStyle-CssClass="grid-label-small" >`   
    <ItemTemplate>
                                    <table>
                                        <tr>
                                            <td width='90%'>
                                                <table>
                                                <td width='60%'>
                                                        <asp:TextBox ID="textbox1" Width="100px" runat="server"
                                                            ToolTip="Provide text" MaxLength="11"></asp:TextBox>
                                                        <ajaxtoolkit:FilteredTextBoxExtender ID="filter" runat="server" TargetControlID="textbox1"
                                                            ValidChars="123" />
                                                    </td>
                                                </table>
    </td>
                                        </tr>
                                    </table>
                                </ItemTemplate>
                        </asp:TemplateField>
                        </Columns>
</asp:GridView>

是否有可能像这样更改过滤文本框扩展器属性?

谢谢。。

如何更改模板字段中控件的属性

注册RowBoundData事件,如下所示。

protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        YourControlType Conrol = (YourControlType)e.Row.FindControl("ControlID");
        //Set the property here
    }
}

同样,您也可以更改事件Row_Command控件属性