2011-02-21 28 views
0

このページのコントロールの値を保存する方法を理解しようとしています(ユーザが提出した委託手数料と販売地域のみ(東部は10%、西部は20%) )。次のようにASPXページ内の値を保持する方法

コードは次のとおりです。

<form id='frmShowCommSingleDocKeepState' action='afShowCommSingleDocKeepState.aspx' method='get' > 
<div> 

       <% 
       Dim strSale As String 
       Dim dblSale As Double 
       Dim strRegion As String 
        Dim dblComm As Double 
        Dim E As Double = 0.1 
        Dim W As Double = 0.2 

        strSale = Request.QueryString("txtSale") 
        If strSale = "" Then 
         Response.Write("Monthly Sale") 
         Response.Write("<input id='txtSale' type='text' name='txtSale'/><br /><br />") 
         Response.Write("Select your Sales Region: ") 
         Response.Write("<select id='lstRegion' name='lstRegion' size='2'>") 
         Response.Write("<option value='E'> Eastern</option>") 
         Response.Write("<option value='W'> Western</option>") 
         Response.Write("</select><br /><br />") 
         Response.Write("<input id='btnShowCommission' type='submit' value='Show Commission' /><hr /><br />") 

        Else 
         strRegion = Request.QueryString("lstRegion") 
         dblSale = CType(strSale, Double) 
         Response.Write("Monthly Sale") 
         Response.Write("<input id='txtSale' type='text' name='txtsale' value= ") 
         Response.Write("'" & strSale & " ' " & "/><br /><br />") 
         Response.Write("Select your Sales Region: ") 
         Response.Write("<select id='lstRegion' name='lstRegion' size='2'>") 
         If strRegion = "E" Then 
          Response.Write("<option value='E' selected='selected'> Eastern</option>") 
         Else 
          Response.Write("<option value='W' selected='selected'>Western</option>") 
         End If 


         Select Case strRegion 
          Case "E" 
           dblComm = dblSale * E 
           Response.Write("Your Commission is: " & FormatCurrency(dblComm)) 
          Case "W" 
           dblComm = dblSale * W 
           Response.Write("Your Commission is: " & FormatCurrency(dblComm)) 
         End Select 
        End If 

       %> 
      </div> 
      </form> 
     </div> 
     </div> 

     </body> 
    </html> 

私はそれが近くにされるべきだと思うが、それはただの小さなタイプミスだったかもしれない場合は、「新鮮な」目を持つ人は、以来、それを指摘することができるだろうということを考えました私は今数時間それを見てきました。どんな助けもありがとうございます。

ありがとうございます!

+0

http://www.google.com/search?q=How+to+preserve+values+in+ASPX+page&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-USをご覧ください。 :official&client = firefox-a –

+1

どのようなコントロールですか?私はここでコントロールを参照してください。私が見ているのは、古典的なASP時代からの悪夢を与えるhtml要素を出力する醜いResponse.Write()文ですが、コントロールはありません。 –

答えて

5

これはasp.netアプローチではありません。この種のアプローチは、aspの日に戻ってくる。これで、フォームタグの中にasp.netコントロールを置くだけで、ポストバックジャズは自動的に処理されます(基本的な目的と目的)。 ViewStateは、ポストバック時にコントロールにプラグインされている値を自動的に維持します。背後に私はショー委員会のボタンに登録のOnClickポストバックイベント中

<%@ Page Title="Home Page" Language="VB" AutoEventWireup="false" 
    CodeFile="Default.aspx.vb" Inherits="_Default" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> 
<head id="Head1" runat="server"> 
    <title>Demo</title> 
</head> 
<body> 
    <form id="Form1" runat="server"> 
     <div> 
      <b> Monthly Sale:</b> 
      <asp:Label ID="lblSale" runat="server" Text="" /> 
      <br /><br /> 
      Sales Region: 
      <asp:DropDownList ID="ddlRegion" runat="server" AutoPostBack="true" > 
       <asp:ListItem Text="Eastern" Value="E"></asp:ListItem> 
       <asp:ListItem Text="Western" Value="W"></asp:ListItem> 
      </asp:DropDownList> 
      <br /><br /> 
      <asp:Button ID="btnShowCommission" runat="server" Text="Show Commission" /> 
      <br /><br /> 
      <asp:Label ID="lblCommission" runat="server" /> 
     </div> 
    </form> 
</body> 
</html> 

その後のコードで、あなたのロジックを実行します:あなたのコードはASPXマークアップページより、次のようになります

Partial Class _Default 
    Inherits System.Web.UI.Page 

    Protected Sub btnShowCommission_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnShowCommission.Click 
     //Do work here to change drop down 
     //change commission label to show calculated commission on sale 
     //change sales label to show whatev =D 
    End Sub 
End Class 
関連する問題