TextBox を含む InsertItemTemplate を操作できるように、フィールドの 1 つが TemplateField に変換された DetailsView があります (参照: 以下のコード)。問題は、コードビハインドでその 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 イベント Handler には、次のようなものがあります。
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 コントロールを見つけて操作する方法は? ありがとう