![](/img/trans.png)
[英]Are client side cookies accessible by all and are there cookies on the server side
[英]Changing Label Text on client side are not accessible on server side
我有下面的標題標簽
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更改不適用於服務器端。
最簡單的方法是添加HiddenField 。 每當您為billed
標簽分配一個值時,您還將其分配給BilledHiddenField
HiddenField。
然后,您可以在服務器端讀取BilledHiddenField.Value
而不是billed.Text
。
<asp:Label ID="billed" runat="server" Text="0.00"></asp:Label>
<asp:HiddenField id="BilledHiddenField" runat="server" />
標簽不會在回發中保留。 解決此問題的一種好方法是重新計算總負載:
我們可以添加一些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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.