1
後我環顧四周,並試圖一對夫婦的解決辦法,我決定post.Bear記住,我正在學習ASP ATM(所以我的經驗是少)獲取從HiddenField正確的價值
所以問題如下:
我有一個asp.net轉發器從數據庫中提取數據。 我有一個HiddenField
我在那裏存儲ID
。
在後面的代碼我試圖獲取ID
爲字符串,但一切我想它只返回我一個ID是1
asp代碼:
<asp:Repeater runat="server" ID="dataRepeater" EnableTheming="true">
<ItemTemplate>
<asp:HiddenField ID="prodID" runat="server" Value='<%#Eval("ProductID")%>' />
<asp:Button runat="server" ID="addToCart" Text="Add to cart" OnClick="Something" />
</ItemTemplate>
</asp:Repeater>
C#代碼隱藏:
dataRepeater.DataSource = dt;
dataRepeater.DataBind();
protected void Something(object sender, EventArgs e) {
string pID = "";
for (int i = 0; i < dataRepeater.Items.Count; i++) {
var item = dataRepeater.Items[i];
var hf = item.FindControl("prodID") as HiddenField;
pID = hf.Value;
}
}
正如我試圖在foreach替代方案中,結果pID
是相同的1,在那裏它應該是往復product ID
在數據庫中。
我相信我做錯了什麼,但我無法弄清楚什麼。 Thx爲您的時間。
當你看網頁的HTML源代碼,你看到不同的值在每個轉發器項目的隱藏字段? –
此外,根據您的代碼,完成for循環後,pID將保留LAST轉發器項目中隱藏字段的值。中繼器中的最後一項是否具有prodID隱藏字段值1? –
是的,我得到了不同的價值觀。我的問題的答案是波紋管。謝謝。 –