日期:2010-04-30  浏览次数:20435 次

利息计算器

首先,我们打开 Visual Studio .NET Whidbey,创建一个名为 Compilation 的新 Web 站点。创建 Web 站点之后,IDE 应与图 1 类似。



图 1:Visual Studio .NET Whidbey Web 站点


然后,我们将 \Code 文件夹添加到该 Web 站点,添加方法为右击该项目,然后选择 New Folder(新建文件夹)。此文件夹必须命名为 Code,但名称不区分大小写。添加文件夹后,我们可以添加一个新的类文件:右击 \Code 文件夹,单击 Add New Item...(添加新项...),然后在 Add New Item(添加新项)对话框的 Templates(模板)窗格中选择 Class(类)项。将类命名为 CalculateInterest.vb。然后添加用于计算利息的代码(将其添加到 Class 和 End Class 语句之间):

Public Function CalcBalance(ByVal Prncpl As Integer, _                        ByVal Rate As Double, _                        ByVal Years As Integer, _                        ByVal Period As Integer) As String    Dim BaseNum As Double = (1 + Rate / Period)    CalcBalance = _        Format(Prncpl * System.Math.Pow(BaseNum, _        (Years * Period)), "#,###,##0.00").ToStringEnd Function


创建组件类后,我们需要修改 Default.aspx 页面以提供用来输入数据的字段,还需要调用组件的 CalcBalance 方法。为了简单起见,Default.aspx 的完整列表显示如下(请注意,Default.aspx 使用单文件代码模型)。

Default.aspx:

<%@ page language="VB" %><script runat="server">        Sub Button1_Click(ByVal sender As Object, _        ByVal e As System.EventArgs)        Dim Calc As New CalculateInterest        Label6.Text = "$" & _            Calc.CalcBalance(Convert.ToInt32(TextBox1.Text), _                (Convert.ToInt32(TextBox2.Text) / 100), _                Convert.ToInt32(TextBox3.Text), _                Convert.ToInt16(Dropdownlist1.SelectedValue))        Label6.Visible = True    End Sub</script><html><head runat="server">    <title> 利息计算器</title></head><body>    <form runat="server">        <asp:label id="Label1"             runat="server">P本金 ($):</asp:label>        <asp:textbox id="TextBox1" runat="server">        </asp:textbox>        <br />        <asp:label id="Label2"             runat="server">利率 (%):</asp:label>        <asp:textbox id="TextBox2" runat="server">        </asp:textbox>        <br />        <asp:label id="Label3" runat="server">年数:</asp:label>        <asp:textbox id="TextBox3" runat="server">        </asp:textbox>        <br />        <asp:label id="Label4"             runat="server">复利频率:</asp:label>        <asp:dropdownlist id="Dropdownlist1" runat="server">            <asp:ListItem Value="1">每年</asp:ListItem>            <asp:ListItem Value="4">每季</asp:ListItem>            <asp:ListItem Value="12">每月</asp:ListItem>            <asp:ListItem Value="365">每日</asp:ListItem>        </asp:dropdownlist>        <br />        <asp:label id="Label5"             runat="server">结余: </asp:label>        <asp:label id="Label6"             visible="false" runat="server"></asp:label>        <br />        <asp:button id="Button1"             runat="server" text="计算"  />    </form></body></html>


在设计视图中,修改后的 Default.aspx 应与图 2 类似。



图 2:设计视图中的 Default.aspx


需要注意是,当您在用于调用组件类的 <脚本> 块中键入代码时,将获得完整的 IntelliSense 语句完成(包括组件类),如图 3 所示。这是在 Visual Studio .NET 2003 基础上的一大改进,Visual Studio .NET 2003 不支持服务器端 <脚本> 块中的 IntelliSense。



图 3:源视图中的 IntelliSense