• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

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

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

        更新時間:2022-05-14 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

        在ASP.NET中實現(xiàn)Model-View-Controller模式(一)



        背景:



        當(dāng)利用ASP.NET創(chuàng)建Web應(yīng)用程序時,基于程序的復(fù)雜性,必須把程序分割成不同的部分以減少代碼的重復(fù)及減少日后變革時所引起的改動。



        實現(xiàn)策略:



        為了解釋如何在ASP.NET中實現(xiàn)(MVC)模型-視圖-控制器模式,以及說明將軟件分離成模型、視圖、及控制器角色的好處,在此以一個示例程序為例進(jìn)行說明。這個示例程序是一個帶有下拉框的單頁程序,它的功能是顯示數(shù)據(jù)庫中的數(shù)據(jù)。如下圖。





        當(dāng)用戶在下拉框中選擇了一個記錄,并單擊Submit按鈕的時候,程序從數(shù)據(jù)庫中搜索與選中記錄相關(guān)的數(shù)據(jù)庫記錄,并以列表的形式顯示出來。下面,將以三種不同的實現(xiàn)方式進(jìn)行實現(xiàn)。



        單頁模式



        在ASP.NET中有許多解決這個問題的辦法,其中最簡單也是最直接的辦法就是把所有的代碼都放到一個文件中,并起名為Solution.aspx,實現(xiàn)代碼如下:

        <%@ 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>



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

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

        本類教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 国产精品亚洲精品久久精品 | 久久亚洲精品无码av| 99热在线免费播放| 亚洲A∨无码一区二区三区| 三级黄色在线免费观看| 久久亚洲精品视频| 午夜免费福利小电影| 亚洲无人区视频大全| 在线永久免费的视频草莓| 亚洲一区二区三区免费视频| 无码精品A∨在线观看免费| 亚洲国产精品日韩在线观看| 大地资源免费更新在线播放| 亚洲欧美成人一区二区三区| 免费鲁丝片一级在线观看| 色妞www精品视频免费看| 亚洲精品视频免费| 久久久99精品免费观看| 亚洲成人福利网站| 日韩免费视频网站| 国产精品免费αv视频| 久久精品国产精品亚洲艾 | 亚洲免费无码在线| 亚洲熟女少妇一区二区| 黄网站色视频免费在线观看的a站最新| 久久精品国产亚洲av麻| 男女做羞羞的事视频免费观看无遮挡| 亚洲最大中文字幕无码网站| 日韩高清免费在线观看| 伊人免费在线观看高清版| 亚洲国产韩国一区二区| 免费一级做a爰片性色毛片| 久久国产乱子伦精品免费午夜| 亚洲va在线va天堂va888www| 九九精品免费视频| 深夜特黄a级毛片免费播放| 国产亚洲精品国产| 午夜神器成在线人成在线人免费| 在线播放免费人成视频网站| 亚洲精品亚洲人成在线观看麻豆| 成人免费无毒在线观看网站|