我有一个 DetailsView,其中 1 个字段转换为 TemplateField,以便能够操作包含 TextBox 的 InsertItemTemplate(参见:下面的代码)。问题是我无法在后面的代码中访问该 TextBox 属性......而且我真的不明白:(这是我的 aspx 代码(它的一部分):
<asp:DetailsView ID="_DetailsView" ClientIDMode="Static" runat="server" Height="50px"
Width="125px" AllowPaging="True" AutoGenerateRows="False" DataKeyNames="IDUniv"
DataSourceID="EntityDS" OnModeChanging="_OnModeChanging">
<Fields>
<asp:TemplateField HeaderText="DateUpdateUniv" SortExpression="DateUpdateUniv" ConvertEmptyStringToNull="False">
<InsertItemTemplate>
<asp:TextBox ID="TextBoxInsertItem" runat="server" Text='<%# Bind("DateUpdateUniv") %>'></asp:TextBox>
</InsertItemTemplate>
<ItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" ShowInsertButton="True" />
</Fields>
</asp:DetailsView>
<asp:EntityDataSource ID="EntityDS">
在 Page_LoadComplete 事件处理程序中,我有这样的事情:
private void Page_LoadComplete(object sender, EventArgs e)
{
if (_DetailsView.HasControls())
{
Control _InsertDate = _DetailsView.FindControl("TextBoxInsertItem") as TextBox;
if (_InsertDate != null)
{
_InsertDate.Text = "something";
}
}
}
但以下代码是错误的:_DetailsView.FindControl("TextBoxInsertItem") 而且这也不起作用:_InsertDate.Text = "something";
我发现了一篇有趣的文章,但仍然......: http: //www.devproconnections.com/article/aspnet2/getting-under-the-detailsview-control
有人可以帮我找到我的路吗?如何找到这个 TextBoxInsertItem 控件并与之交互?谢谢