我要訪問的值的隱藏字段在我後面的代碼。我知道當物品受到綁定時我需要這樣做,但我似乎無法解決如何做到這一點。
protected void addLabelsWhereNeeded(object sender, EventArgs e)
{
// Get Value from hiddenfield
}
我要訪問的值的隱藏字段在我後面的代碼。我知道當物品受到綁定時我需要這樣做,但我似乎無法解決如何做到這一點。
protected void addLabelsWhereNeeded(object sender, EventArgs e)
{
// Get Value from hiddenfield
}
是的,你是對的。您必須在ItemDateBound上執行此操作。檢查它必須努力
嘗試增加
OnRowDataBound="addLabelsWhereNeeded"
到你的GridView。再抹上控制在相應的單元格設置爲HiddenField搶值:
protected void addLabelsWhereNeeded(object sender, GridViewRowEventArgs e)
{
HiddenField hf = e.Row.Cells[0].Controls[1] as HiddenField;
String theValue = hf.Value;
}
假設你定義你的GridView爲:
<asp:GridView runat="server" ID="gv" OnRowDataBound="addLabelsWhereNeeded">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<%--your hidden field--%>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
只要確保你的索引正確的細胞和正確在該單元內進行控制。
對不起,我真的很笨。我之前沒有使用gridviews。我實際上試圖修改某人elses代碼。你能解釋一下'單元'號碼是什麼嗎? – 2010-09-09 14:26:05
該號碼用作該行的單元格索引。假設你在GridView中定義了ColumnA,ColumnB和ColumnC。在你的代碼隱藏中,Cell [0]的索引應該是該行的ColumnA,而使用Cell [2]的索引應該是該行的ColumnC。 – Brissles 2010-09-09 14:44:35
在數據綁定的時候,我非常明白你想用這個私人領域實現什麼?在RowDataBound事件中,您可以訪問整個數據項,因此不需要使用隱藏值。
僞代碼:
protected void Grid1_RowDataBound(object sender, GridViewRowEventArgs)
{
if(e.RowType == RowType.DataRow)
{
}
}
設置斷點進入if語句,並使用快速監視,看你怎麼需要轉換當前必然要完全訪問所有屬性的DataItem,即使他們沒有綁定到任何控制。
如何!那就是爲什麼我問。我之前做過一箇中繼器,但我似乎無法在gridview中使用相同的屬性。我知道它沿着這些路線,但似乎無法獲得價值。 ((HiddenField)在線.....(hdField))值; – 2010-09-09 13:51:06