我一直在爲這個問題整天奮戰。我有一個asp:Gridview
幾個頁腳模板有幾個TextBox字段,一個DropDown和一個CheckBox。我隱藏頁腳,直到單擊添加記錄asp:button
。這一切都有效,我可以在文本框中輸入數據,從下拉菜單中選擇選項並循環複選框。現在,當我嘗試將數據保存到數據庫時,我使用此代碼。如何從ASP gridview頁腳獲取所有值
protected void MembersGridView_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName.Equals("EmptyInsert"))
{
}
if (e.CommandName.Equals("Insert"))
{
int Role =Convert.ToInt32((MembersGridView.FooterRow.FindControl("ddlRole") as DropDownList).SelectedItem.Value);
string FirstName = (MembersGridView.FooterRow.FindControl("txtLastName") as TextBox).Text;
string LastName = (MembersGridView.FooterRow.FindControl("txtLastName") as TextBox).Text;
TextBox UserName = MembersGridView.FooterRow.FindControl("txtUserName") as TextBox;
TextBox Email = MembersGridView.FooterRow.FindControl("txtEmail") as TextBox;
CheckBox active = MembersGridView.FooterRow.FindControl("chkActive") as CheckBox;
DbContext.AAHMembersAdd(Role, FirstName, LastName, UserName.Text, Email.Text, active.Checked);
//MembersGridView.EditIndex = -1;
MembersGridView.DataSource = DbContext.VW_Members.ToList();
DataBind();
}
}
<asp:TemplateField HeaderText="First Name" ItemStyle-Width="100">
<ItemTemplate>
<asp:Label ID="lblFirstName" runat="server" Text='<%# Eval("firstname")%>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtFirstName" runat="server" Text='<%# Eval("firstname")%>'></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtFirstName" runat="server"></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>
我已經添加了ASPX爲模板的一個字段都是相同的,因爲這一個,除了下拉和CheckBox
下拉和複選框數據然而回到我的所有文本框值都是作爲空字符串返回。我在這裏錯過了什麼。正如你所看到的,我已經嘗試了幾種不同的方式,但結果是一樣的。
您可以發佈您的.aspx? – w0051977