C#:标签不包含文本

C#:标签不包含文本,c#,asp.net,javascript,C#,Asp.net,Javascript,我想把标签上的文字去掉。但是标签文本是用Javascript设置的。 在页面上,我可以看到标签中有文本,但当我调试时,它会显示以下内容:“” 那么,如何从用Javascript设置的标签中获取文本,至少我认为这是问题所在 我的代码: <asp:TextBox ID="txtCount" runat="server" Width="50px" Font-Names="Georgia, Arial, sans-Serif" ForeColor="#444444"></asp:Tex

我想把标签上的文字去掉。但是标签文本是用Javascript设置的。 在页面上,我可以看到标签中有文本,但当我调试时,它会显示以下内容:“”

那么,如何从用Javascript设置的标签中获取文本,至少我认为这是问题所在

我的代码:

<asp:TextBox ID="txtCount" runat="server" Width="50px" Font-Names="Georgia, Arial, sans-Serif" ForeColor="#444444"></asp:TextBox>
<ajaxToolkit:NumericUpDownExtender ID="NumericUpDownExtender1" runat="server" Minimum="1"
 TargetButtonDownID="btnDown" TargetButtonUpID="btnUp" TargetControlID="txtCount"  Width="20" />
<asp:ImageButton ID="btnUp" runat="server" AlternateText="up" ImageUrl="Images/arrowUp.png"
 OnClientClick="setAmountUp()" ImageAlign="Top" CausesValidation="False" />
 <asp:ImageButton ID="btnDown" runat="server" AlternateText="down" ImageUrl="Images/arrowDown.png"  OnClientClick="setAmountDown()" ImageAlign="Bottom" 
 CausesValidation="False" />

<asp:Label ID="lblKorting" runat="server" />

 <asp:Label ID="lblAmount" runat="server" />

<asp:Button ID="btnBestel" runat="server" CssClass="btn" Text="Bestel" OnClick="btnBestel_Click1" />

JS

函数setAmountUp()
{
var aantal=document.getElementById(“”).value-0;
aantal+=1;
计算数量(安塔尔);
}
函数setAmountDown()
{
var aantal=document.getElementById(“”).value-0;
如果(安塔尔>1)
aantal-=1;
计算数量(安塔尔);
}
函数计算计数(aantal)
{
var prijs=document.getElementById(“”).innerHTML-0;
var totaal=0;
如果(安塔尔<2)
{
totaal=prijs*aantal;
document.getElementById(“”).innerHTML=“”;
}
否则如果(安塔尔>=2&&安塔尔<5)
{
totaal=(prijs*aantal)*0.95;
document.getElementById(“”).innerHTML=“-5%”;
}
否则,如果(平均值>=5)
{
totaal=(prijs*aantal)*0.90;
document.getElementById(“”).innerHTML=“-10%”;
}
document.getElementById(“”).innerHTML=totaal;
}
C#

private OrderBO bestelling;
受保护的无效btnBestel_Click1(对象发送方,事件参数e)
{
bestelling=新订单bo();

bestelling.Amount=Convert.ToInt32(lblAmount.Text);//存储在标签中的文本不会在回发时发送回服务器。这是单向的

您应该做的是将要返回服务器的任何文本放入隐藏的表单字段中,如下所示:

ASP.NET:

<asp:HiddenField runat="server ID="hfAmount" />

非常感谢。我一直在寻找几个小时来解决此错误。Warren的方法看起来不错。但是,请确保您没有使用从页面发送的金额来创建订单,因为任何人都可以轻松篡改从网页发送的数据,如果他们发现您使用页面中的值来计算订单的金额然后,他们可以轻松地更改值以设置他们想要的任何数量。
 private OrderBO bestelling;
    protected void btnBestel_Click1(object sender, EventArgs e)
    {
        bestelling = new OrderBO();
        bestelling.Amount = Convert.ToInt32(lblAmount.Text); //<--- THIS IS "" in the debugger, but on the page 10
    }
<asp:HiddenField runat="server ID="hfAmount" />
document.getElementById('<%=hfAmount.ClientID%>').value = totaal;
bestelling.Amount = Convert.ToInt32(hfAmount.Value);