簡體   English   中英

在后面的代碼中從Repeater獲取特定項目

[英]Get specific item from Repeater in code behind

我有一個ASP.NET WebForms項目,該項目顯示通過Repeater從數據庫讀取的數據。 中繼器的代碼如下所示:

<asp:Repeater ID="repRMAproduct" runat="server">
     <ItemTemplate>
          <tr>
               <td>
                    <%# Eval("Description") %>
               </td>
               <td>
                    <%#  Eval("Qty") %>
               </td>
               <td>
                    <asp:TextBox ID="tbNewQty" runat="server"></asp:TextBox>
               </td>
          </tr>
     </ItemTemplate>
</asp:Repeater>

我想要的是用戶僅在他要輸入的行上輸入新的數量。 然后,當他單擊保存按鈕時,我可以閱讀這些新的數量及其相關的描述。

在MVC中,我應該使用jQuery構建URL並將其傳遞給Controller。 但是在WebForms中,它似乎不太直觀。 我從這里去哪里?

在保存按鈕單擊事件處理程序中,您可以循環所有項目並使用FindControl獲取TextBox

foreach(RepeaterItem item in repRMAproduct.Items)
{
    TextBox tbNewQty = (TextBox) item.FindControl("tbNewQty");
    string newQuantity = tbNewQty.Text.Trim();
    int quantity;
    if(int.TryParse(newQuantity, out quantity))
    {
        SaveNewRmaQuantity(product, quantity);
    };
}

如果要在產品說明中使用Label ,則可以使用FindControl("LblDescriptionId")來獲取它,並將其Text傳遞給SaveNewRmaQuantity 您還可以使用不可見的控件( Visible=false) (例如Label )來存儲ProductId

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM