打印本文 打印本文 关闭窗口 关闭窗口
在ASP.NET中实现MVC模式(一)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1737  更新时间:2009/4/23 10:46:29  文章录入:mintao  责任编辑:mintao

ASP.NET中实现Model-View-Controller模式(一)

 

背景:

 

当利用ASP.NET创建Web应用程序时,基于程序的复杂性,必须把程序分割成不同的部分以减少代码的重复及减少日后变革时所引起的改动。

 

实现策略:

 

为了解释如何在ASP.NET中实现(MVC)模型-视图-控制器模式,以及说明将软件分离成模型、视图、及控制器角色的好处,在此以一个示例程序为例进行说明。这个示例程序是一个带有下拉框的单页程序,它的功能是显示数据库中的数据。如下图。

 

当用户在下拉框中选择了一个记录,并单击Submit按钮的时候,程序从数据库中搜索与选中记录相关的数据库记录,并以列表的形式显示出来。下面,将以三种不同的实现方式进行实现。

 

单页模式

 

在ASP.NET中有许多解决这个问题的办法,其中最简单也是最直接的办法就是把所有的代码都放到一个文件中,并起名为Solution.aspx,实现代码如下:

<%@ Import Namespace="System.Data" %>

<%@ Import Namespace="System.Data.SqlClient" %>

<html>

  <head>

    <title>start</title>

    <script language="c#" runat="server">

     void Page_Load(object sender, System.EventArgs e)

     {

        String selectCmd = "select * from Recording";

 

        SqlConnection myConnection =

            new SqlConnection(

               "server=(local);database=recordings;Trusted_Connection=yes");

        SqlDataAdapter myCommand = new SqlDataAdapter(selectCmd,

        myConnection);

 

        DataSet ds = new DataSet();

        myCommand.Fill(ds, "Recording");

           

        recordingSelect.DataSource = ds;

        recordingSelect.DataTextField = "title";

        recordingSelect.DataValueField = "id";

        recordingSelect.DataBind();

    }

        

    void SubmitBtn_Click(Object sender, EventArgs e)

    {  

       String selectCmd =

         String.Format(

         "select * from Track where recordingId = {0} order by id",

         (string)recordingSelect.SelectedItem.Value);

 

       SqlConnection myConnection =

         new SqlConnection(

           "server=(local);database=recordings;Trusted_Connection=yes");

 

        SqlDataAdapter myCommand = new SqlDataAdapter(selectCmd,

          myConnection);

 

[1] [2]  下一页

打印本文 打印本文 关闭窗口 关闭窗口