グリッドビューのフッターに ASPxTextBox1 という名前のテキスト ボックスがあります。コードビハインドでテキストボックスを取得します:
var tbox = (DevExpress.Web.ASPxEditors.ASPxTextBox)grdCommunication.FindFooterCellTemplateControl(grdCommunication.Columns[3],"ASPxTextBox1");
テキストボックスはnullではないので、手元にあります。それでも、tbox.Text は常に空 ("") です。何か案が?
念のため、aspx を次に示します。
<dx:ASPxGridView ID="grdCommunication" runat="server" DataSourceID="CommunicationSQLDataSource" Settings-ShowFooter="True" OnRowInserting="grdCommunication_RowInserting" AutoGenerateColumns="False" Width="500px">
<Columns>
<dx:GridViewCommandColumn VisibleIndex="0">
</dx:GridViewCommandColumn>
<dx:GridViewDataDateColumn FieldName="Date" VisibleIndex="1">
</dx:GridViewDataDateColumn>
<dx:GridViewDataTextColumn FieldName="UserName" VisibleIndex="2"></dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="Message" VisibleIndex="3">
<FooterTemplate>
<dx:ASPxTextBox ID="ASPxTextBox1" runat="server" Height="32px" Width="169px"></dx:ASPxTextBox>
<dx:ASPxButton ID="ASPxButton1" runat="server" Height="19px" Text="ASPxButton" Width="255px" CommandName="Insert" OnClick="ASPxButton1_Click1"></dx:ASPxButton>
</FooterTemplate>
</dx:GridViewDataTextColumn>
</Columns>
<Settings ShowColumnHeaders="False"></Settings>
</dx:ASPxGridView>
Page_Load:
protected void Page_Load(object sender, EventArgs e)
{
if (!User.Identity.IsAuthenticated)
{
Response.Redirect("~/Account/Login.aspx?ReturnUrl=" + HttpContext.Current.Request.Url.AbsolutePath);
}
else
{
activeuserID = Membership.GetUser(User.Identity.Name).ProviderUserKey.ToString();
}
pid = "05811de5-6345-4806-b489-154576c69e6d";
CommunicationSQLDataSource.SelectParameters["ProjectID"].DefaultValue = pid;
grdCommunication.DataBind();
}