У меня есть gridview в приложении .NET forms, и после обратной передачи я не вижу значений, введенных в текстовое поле в gridview.TextBox в GridView не имеет значения для обратной передачи
ASPX:
<asp:GridView ID="gvItems" runat="server" AutoGenerateColumns="false" ShowHeader="false" DataKeyNames="ItemId" EnableViewState="true">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="txtItem" runat="server" Text="0" EnableViewState="true" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="ItemId" />
</Columns>
</asp:GridView>
<asp:Button runat="server" ID="btn" Text="Submit" OnClick="btn_OnClick" OnClientClick="javascript:return someClientStuff();" />
Код За:
protected void btn_OnClick(object sender, System.EventArgs e)
{
foreach(GridViewRow row in gvItems.Rows)
{
if (row.RowType == DataControlRowType.DataRow)
{
var itemId = Convert.ToInt32(gvItems.DataKeys[row.RowIndex].Values[0]);
var itemValue = ((row.Cells[0].FindControl("txtItem") as TextBox).Text;
}
}
Я вижу Itemid населенного для каждой строки, но ItemValue всегда пустая строка.
Прошло некоторое время, так как я работал над бланком приложения, любая помощь приветствуется!
выглядит как проблема с областью действия здесь 'var itemId и itemValue', где вы назначаете их после нажатия кнопки. Также у вас есть' if (IsPostBack) {} 'проверка загрузки вашей страницы ..? – MethodMan
@DJKRAZE Не назначая их нигде - я просто отлаживаю это и замечаю, что они пусты для всех строк. – Prabhu
это объем и проблема с записью данных после обратной связи – MethodMan