텍스트를 레이블에서 빼내고 싶습니다. 그러나 레이블 텍스트는 Javascript로 설정됩니다. 페이지에 레이블에 텍스트가 있음을 볼 수 있지만 디버깅 할 때 ":"이 표시됩니다.C# : 레이블에 텍스트가 없습니다.
그렇다면 자바 스크립트로 설정된 레이블에서 텍스트를 가져 오는 방법은 적어도 내가 생각하기에 문제입니다.
내 코드 : 라벨 내부에 저장된
<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
function setAmountUp()
{
var aantal = document.getElementById('<%=txtCount.ClientID%>').value-0;
aantal+=1;
calculateAmount(aantal);
}
function setAmountDown()
{
var aantal = document.getElementById('<%=txtCount.ClientID%>').value-0;
if(aantal > 1)
aantal -=1;
calculateAmount(aantal);
}
function calculateAmount(aantal)
{
var prijs = document.getElementById('<%=lblPriceBestel.ClientID%>').innerHTML -0;
var totaal = 0;
if(aantal < 2)
{
totaal = prijs * aantal;
document.getElementById('<%=lblKorting.ClientID%>').innerHTML = "";
}
else if(aantal >= 2 && aantal < 5)
{
totaal = (prijs * aantal)*0.95;
document.getElementById('<%=lblKorting.ClientID%>').innerHTML = "-5%";
}
else if(aantal >= 5)
{
totaal = (prijs * aantal)*0.90;
document.getElementById('<%=lblKorting.ClientID%>').innerHTML = "-10%";
}
document.getElementById('<%=lblAmount.ClientID%>').innerHTML = totaal;
}
C#을
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
}
워렌 ' 좋은 접근법입니다. 그러나 누군가가 웹 페이지에서 전송 된 데이터를 쉽게 조작 할 수 있고 페이지의 값을 사용하여 계산할 수 있기 때문에 페이지에서 보낸 금액을 사용하여 주문을 작성하지 않도록하십시오. 주문 금액을 입력하면 원하는 금액을 쉽게 설정할 수 있습니다. – Sijin