日本国产亚洲-日本国产一区-日本国产一区二区三区-日本韩国欧美一区-日本韩国欧美在线-日本韩国欧美在线观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

在ASP.NET中完成MVC模式(一)

在ASP.NET中完成MVC模式(一)

更新時間:2022-05-14 文章作者:未知 信息來源:網絡 閱讀次數:

在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);



DataSet ds = new DataSet();

myCommand.Fill(ds, "Track");



MyDataGrid.DataSource = ds;

MyDataGrid.DataBind();

}

</script>

</head>

<body>

<form id="start" method="post" runat="server">

<h3>Recordings</h3>

Select a Recording:<br />

<asp:dropdownlist id="recordingSelect" runat="server" />

<asp:button runat="server" text="Submit" OnClick="SubmitBtn_Click" />

<p/>

<asp:datagrid id="MyDataGrid" runat="server" width="700"

backcolor="#ccccff" bordercolor="black" showfooter="false"

cellpadding="3" cellspacing="0" font-name="Verdana"

font-size="8pt" headerstyle-backcolor="#aaaadd"

enableviewstate="false" />

</form>

</body>

</html>



這個實現文件包含了模型、視圖、控制器這三種角色,但是沒有將它們分割為不同的文件或類。其中的視圖對象用HTML實現,用一個數據綁定控件來顯示從數據庫返回的DataSet中的數據。模型角色在Page_Load 和 SubmitBtn_Click函數中實現。而控制器角色并沒有顯式的實現,而是由ASP.NET隱式實現。程序運行時,當用戶發出頁面的請求,頁面隨著用戶的

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

主站蜘蛛池模板: 日本www免费视频网站在线观看 | 天天干天天草天天射 | 亚洲国产人久久久成人精品网站 | 在线欧美色 | 亚洲精品一区二区三区福利 | 铃原爱蜜莉中出15次在线 | 色婷婷综合久久久久中文一区二区 | 久久久久四虎国产精品 | 日本不卡一区二区三区 | 91尤物国产尤物福利在线 | 欧美一区中文字幕 | 久久国产精品久久精品国产 | 中文字幕亚洲一区 | 免费超爽大片黄网站 | 精品国产一区二区三区四区不 | 国产福利永久在线视频无毒不卡 | 黑人中出波多野结衣在线观看 | 97日日摸天天碰免费视频 | 欧美专区在线 | 亚洲精品亚洲人成在线麻豆 | 精品国产一区二区三区不卡在线 | 欧美一级毛片在线看视频 | 亚洲高清中文字幕综合网 | 精品欧美一区二区三区免费观看 | 亚洲国产精品人久久 | 性亚洲 | 99热久久国产精品这 | 色婷婷综合久久久 | 最近最新高清中文字幕 | 添人人躁日日躁夜夜躁夜夜揉 | 日本一本一道久久香蕉免费 | 97超级碰碰免费观看在线 | 大伊香蕉在线精品视频人碰人 | 日韩欧美第一区二区三区 | 青青伊人91久久福利精品 | 91福利片| 99视频免费在线 | 在线播放麻豆 | 久久88综合 | 一区二区成人国产精品 | 在线3级 |