首页 MVC解决方案

MVC解决方案

举报
开通vip

MVC解决方案 Model-View-Controller(MVC)模式基于用户输入,将域的建模、显示和操作分为三个独立的类。 1、模型。模型用于管理应用程序域的行为数据,并响应为获取其状态信息(通常来自视图)而发出的 请求,还会响应更改状态的指令(通常来自控制器)。 2、视图。视图用于管理信息的显示。 3、控制器。控制器用于解释用户鼠标和键盘的输入,以通知模型和/或视图进行相应的更改。 视图和控制器依赖余模型。但是,模型既不依赖于视图也不依赖于控制器,这个分离的主要优点之 一。这样的分离允许模型在独立于可视表示功能的情况下建...

MVC解决方案
Model-View-Controller(MVC)模式基于用户输入,将域的建模、显示和操作分为三个独立的类。 1、模型。模型用于管理应用程序域的行为数据,并响应为获取其状态信息(通常来自视图)而发出的 请求,还会响应更改状态的指令(通常来自控制器)。 2、视图。视图用于管理信息的显示。 3、控制器。控制器用于解释用户鼠标和键盘的输入,以通知模型和/或视图进行相应的更改。 视图和控制器依赖余模型。但是,模型既不依赖于视图也不依赖于控制器,这个分离的主要优点之 一。这样的分离允许模型在独立于可视表示功能的情况下建立和测试。在许多胖客户端应用程序中视 图与控制器分离是次要的。实际上,许多用户界面框架将角色实现为一个对象。另一方面,在Web应 用程序中,视图(浏览器)与控制其(处理HTTP请求的服务器组件)的分离是很好的定义。 Model-View-Controller是用户将用户界面逻辑与业务逻辑分离开来的基础设计模式。 例子: 视图: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="DemoMVC. _Default" %> 无标题页
控制器: using System; using System.Collections; using System.Configuration; using System.Data; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; namespace DemoMVC { public partial class _Default : System.Web.UI.Page { private string Connstring = null; private Model m = null; protected void Page_Load(object sender, EventArgs e) { Connstring = ConfigurationManager.ConnectionStrings["Connstring"].ConnectionString; m = new Model(); if (!IsPostBack) { this.GridView1.DataSource = m.SelectData(Connstring); this.GridView1.DataBind(); this.DropDownList1.DataSource = m.TypeSelect(Connstring); DropDownList1.DataTextField = "Type"; DropDownList1.DataValueField = "Type"; this.DropDownList1.DataBind(); } } protected void Button1_Click(object sender, EventArgs e) { this.GridView1.DataSource = m.SelectByType(DropDownList1.SelectedItem.Value,Connstring); this.GridView1.DataBind(); } } } 模型: using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Data.SqlClient; 分区杂项 的第 2 页 using System.Data.SqlClient; namespace DemoMVC { public class Model { public DataSet SelectByType(string Type, string connstring) { try { SqlDataAdapter adapter = new SqlDataAdapter("proc_select_by_Type", connstring); adapter.SelectCommand.CommandType = CommandType.StoredProcedure; adapter.SelectCommand.Parameters.Add(new SqlParameter("@Type", Type)); DataSet ds = new DataSet(); adapter.Fill(ds); return ds; } catch (Exception Err) { return DataError(Err); } } public DataSet SelectData(string connstring) { try { SqlDataAdapter adapter = new SqlDataAdapter("proc_select", connstring); adapter.SelectCommand.CommandType = CommandType.StoredProcedure; DataSet ds = new DataSet(); adapter.Fill(ds); return ds; } catch (Exception Err) { return DataError(Err); } } public DataSet TypeSelect(string connstring) { try { SqlDataAdapter adapter = new SqlDataAdapter("Type_select", connstring); adapter.SelectCommand.CommandType = CommandType.StoredProcedure; DataSet ds = new DataSet(); adapter.Fill(ds); return ds; } catch (Exception Err) { return DataError(Err); } } public DataSet DataError(Exception Err) { DataSet ErrDataSet = new DataSet("Errors"); DataTable ErrDataTable = ErrDataSet.Tables.Add("Error"); ErrDataTable.Columns.Add("Message"); ErrDataTable.Rows.Add(new object[] { Err.Message }); 分区杂项 的第 3 页 ErrDataTable.Rows.Add(new object[] { Err.Message }); return ErrDataSet; } } } SQL: create database TestMVC create table DemoMVC ID int primary key identity(1,1), Name varchar(50), Type varchar(10) ( ) insert into DemoMVC(Name,Type) values('测试数据01','类别01'); insert into DemoMVC(Name,Type) values('测试数据02','类别01'); insert into DemoMVC(Name,Type) values('测试数据03','类别01'); insert into DemoMVC(Name,Type) values('测试数据04','类别01'); insert into DemoMVC(Name,Type) values('测试数据05','类别01'); insert into DemoMVC(Name,Type) values('测试数据06','类别01'); insert into DemoMVC(Name,Type) values('测试数据11','类别02'); insert into DemoMVC(Name,Type) values('测试数据12','类别02'); insert into DemoMVC(Name,Type) values('测试数据13','类别02'); insert into DemoMVC(Name,Type) values('测试数据14','类别02'); insert into DemoMVC(Name,Type) values('测试数据15','类别02'); insert into DemoMVC(Name,Type) values('测试数据16','类别02'); insert into DemoMVC(Name,Type) values('测试数据21','类别03'); insert into DemoMVC(Name,Type) values('测试数据22','类别03'); insert into DemoMVC(Name,Type) values('测试数据23','类别03'); insert into DemoMVC(Name,Type) values('测试数据24','类别03'); insert into DemoMVC(Name,Type) values('测试数据25','类别03'); insert into DemoMVC(Name,Type) values('测试数据26','类别03'); create proc proc_select_by_Type @Type varchar(10) ( ) as select * from DemoMVC where Type=@Type create proc proc_select as select * from DemoMVC create proc Type_select as select distinct Type from DemoMVC 配置文件: 分区杂项 的第 4 页 MVC解决方案 绘图1 DemoMVC 分区杂项 的第 5 页
本文档为【MVC解决方案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_747960
暂无简介~
格式:pdf
大小:206KB
软件:PDF阅读器
页数:5
分类:企业经营
上传时间:2010-05-25
浏览量:14