代码之家  ›  专栏  ›  技术社区  ›  Yogesh

在客户端更改标签文本在服务器端不可访问

  •  0
  • Yogesh  · 技术社区  · 9 年前

    我有以下标题标签

    Billed Amount:
    <label >$</label>
    <asp:Label ID="billed"  runat="server" Text="0.00"></asp:Label>
    

     <asp:Repeater runat="server" ID="rpt" >
         <HeaderTemplate>
             ....
         </HeaderTemplate>
         <ItemTemplate>
             <asp:TextBox ID="txtB" onchange="AmountChanged(this)" Text='<%# Bind("Billed") %>' />
         </ItemTemplate>
         <FooterTemplate>
             </table>
         </FooterTemplate>
     </asp:Repeater>
    

    在AmountChanged JavaScript函数中,我编写了一个函数来汇总所有重复项的账单金额和标题上的更改值

    但当我得到标签值时,它只作为前一个值出现。JavaScript更改在服务器端不起作用。

    2 回复  |  直到 9 年前
        1
  •  1
  •   Win    9 年前

    隐藏域 . 无论何时为 billed 标签,您也可以将其指定给 BilledHiddenField 希登菲尔德。

    BilledHiddenField.Value 在服务器端,而不是 billed.Text .

    <asp:Label ID="billed"  runat="server" Text="0.00"></asp:Label>
    <asp:HiddenField id="BilledHiddenField" runat="server" />
    
        2
  •  0
  •   hardkoded    9 年前

    我们可以加一些 data-

    <asp:Label data-billed="" runat="server" ID="billed"></asp:Label>
    <asp:TextBox runat="server" ID="txtB" data-amount="" Text='<%# Eval("Billed") %>'></asp:TextBox>
    

    然后计算总负载:

    var amount = 0;
    
    $("[data-amount]").each(function (index, el) {
        if ($(el).val()) {
            amount += parseInt($(el).val(), 10);
        }
    });
    
    $("[data-billed]").text(amount);
    
    推荐文章