Bekommen Wert von versteckten boundfield? ASP.NET

Ich weiß die Frage ich werde Sie Fragen, ist schon die Frage durch andere Menschen, aber diese Antworten sind keine Lösung für mein problem.

Ich habe ein gridview mit 2 BoundFields, 2 ButtonFields und ein checkbox-Feld (das ist ein TemplateField).

Ich habe auch eine datatable gefüllt mit Daten aus der Datenbank.

In der aspx-code erstelle ich mir ein gridview mit den Feldern die letzten BoundField Visible = false.

In meinem codebehind, füge ich die Spalten und binden der datasource in mein datatable.

Aber wenn ich versuche zum Lesen der Daten aus dem versteckten boundfield, das Feld ist leer. Das problem, warum ich nicht verwenden können, die Lösungen erwähnt, mit ähnlichen Fragen, weil die Leute davon ausgehen, die Daten gefüllt wird, eins nach dem anderen, und nicht durch die Bindung an ein datatable der datasource eines gridview.

Also meine Frage ist: gibt es einen Weg, um die Daten aus dem versteckten boundfield und auch weiterhin die Möglichkeit zum hinzufügen von Daten durch die Bindung der datatable der datasource eines gridview?
Und wenn dem so ist, ist es posible, um den Wert für dieses Feld?

p.s. Ich bin mit asp.net/c# in visual studio 2010

ASPX:

<asp:GridView ID="gvSelect" runat="server" AutoGenerateColumns="False" BorderStyle="None" onrowcommand="gvTestSelect_RowCommand">
    <Columns>
        <asp:TemplateField>
            <HeaderTemplate>
                <asp:CheckBox runat="server" ID="cbHeader" OnPreRender="cbHeader_PreRender" />
            </HeaderTemplate>
            <ItemTemplate>
                <asp:CheckBox runat="server" ID="cbItems" />
            </ItemTemplate>
        </asp:TemplateField>
        <asp:BoundField DataField="field" HeaderText="Veld" SortExpression="field" />
        <asp:ButtonField DataTextField="up" HeaderText="Omhoog" SortExpression="up" CommandName="up" Text="&uarr;" />
        <asp:ButtonField DataTextField="down" HeaderText="Omlaag" SortExpression="down" CommandName="down" Text="&darr;" />
        <asp:BoundField DataField="hidden" SortExpression="hidden" />
    </Columns>
</asp:GridView>

Code Behind (wo fülle ich die gridview):

//create array list and fill it with all columns
Dictionary<string, string> dict = FillLists.getColumnsByTable(loader, ddlInfoTableI.SelectedItem.Value.ToString());

//loop trough dictionary
foreach (var val in dict)
{
    //create new dtSelect datarow
    DataRow dr = dtSelect.NewRow();

    //set row values for column values
    dr["select"] = false;
    dr["field"] = val.Value.ToString();
    dr["up"] = new ButtonField { CommandName = "up", Text = loader.LoadResourceString(1024), HeaderText = "&uarr;", ButtonType = ButtonType.Button, Visible = true };
    dr["down"] = new ButtonField { CommandName = "down", Text = loader.LoadResourceString(1025), HeaderText = "&darr;", ButtonType = ButtonType.Button, Visible = true };
    dr["hidden"] = val.Key.ToString();

    //add the datarow
    dtSelect.Rows.Add(dr);

    //set datatable session to datatable
    Session["dtSelect"] = dtSelect;

    //set datasource of the gridview to datatable
    gvSelect.DataSource = dtSelect;

    //bind data to gridview
    gvSelect.DataBind();
}

So, jetzt brauche ich um die Daten aus dem gridview (escpecialy aus dem verborgenen boundfield), denn Sie können Bearbeiten Sie das gridview-mit Ausnahme der ausgeblendeten boundfield, so dass ist der einzige Weg zu wissen, die ursprüngliche Zeile es war.

  • Zeig uns deinen code.
  • Wann und wie sind Sie zu Lesen ?
  • stackoverflow.com/faq#howtoask
  • Ich habe das code-Beispiel als Sie gefragt haben. BTW ich will einfach nur, um die Daten durch zum Beispiel: string strHiddenFieldData = gvSelect.Rows[0].Cells[4].ToString();.Aber wie ich schon sagte, das gibt eine leere Zeichenfolge 🙁
  • Wer kann mir helfen?
  • Funktioniert die Schlüssel-Wert-Karte in Ihren HTML-Quellcode auf dem client?

Schreibe einen Kommentar