好了,現在萬事俱備,只欠東風了,讓我們看看現在做一個輿論調查多么簡單: file : vote.aspx <%@ Page language="c#" Codebehind="vote.cs" AutoEventWireup="false" Inherits="Football.vote" %>
<html> <head> <title>532.com.cn --- 輿論調查 ---</title> <link rel="stylesheet" href="style/style.css" type="text/css">
</head> <body>
<form method="post" runat="server"> <table width=400 height=300 align=center> <tr> <td class=cn valign=top align=center><b>調查題目: <asp:label id="lblSurveyTitle" runat=Server class=cn></asp:label> </td> </tr> <tr> <td alin=center> <asp:image id="imgSurvey" runat=Server></asp:image> </td> </tr> <tr> <td align=center> <input type=button onclick="window.close();" value="關閉此窗口"> </td> </tr> </table> </form>
</body> </html> file: vote.cs namespace Football { using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; /// <summary> /// Summary description for vote. /// </summary> public class vote : System.Web.UI.Page { protected System.Web.UI.WebControls.Image imgSurvey; protected System.Web.UI.WebControls.Label lblSurveyTitle; private string m_strSurveyID ; private int m_intVoteID ; public vote() { Page.Init += new System.EventHandler(Page_Init); } protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { // // Evals true first time browser hits the page // } } protected void Page_Init(object sender, EventArgs e) { // // CODEGEN: This call is required by the ASP+ Windows Form Designer. // InitializeComponent(); Init() ; } /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.Load += new System.EventHandler (this.Page_Load); } private void Init() { m_strSurveyID = Request["surveyid"].ToString() ; FootballSurvey mySurvey = new FootballSurvey() ; try { m_intVoteID = Request["vote"].ToInt32() ; mySurvey.LoadFromDatabase(m_strSurveyID) ; lblSurveyTitle.Text = mySurvey.Title ; if (m_intVoteID < mySurvey.Items.Count) { mySurvey.Vote(m_intVoteID) ; } mySurvey.CreateResultImage(Server.MapPath("survey.jpg") , MyClass.Util.MyChart.ChartType.Pie , 300 ,300 , Color.White) ; imgSurvey.ImageUrl = "survey.jpg" ; } catch(Exception e) { #if DEBUG Response.Write ("初始化頁面錯誤:" + e.ToString()) ; return ; #endif Page.Navigate("error.aspx") ; } } } } 要看這個調查的效果,請到http://210.12.102.95/football 。怎么樣,是不是覺得這種編程思路不錯呢?什么?還不如直接在aspx文件里面做?不錯,如果單做這么一個調查的確直接做要省事的多,但你知不知道,只要有編譯好的這個類的dll,不管你怎么改頁面,改數據結構,你都可以在15分鐘內把你所需要的輿論調查做出來?這就是這兩種編程方法最大的區別。希望通過這個例子你能學到一些編程思想把。
|