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

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

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

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

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

        在ASP.NET中實現Model-View-Controller模式(二)



        MVC模式形容這種實現方式是一種被動的實現機制,ASP.NET充當了程序執行中的控制器的角色,但程序員必須將具體的事件處理方法添加到事件的響應函數中。如在這個例子中,控制器在頁面加載之前調用Page_Load函數并執行其中的代碼,當用戶點擊Submit按鈕時由系統調用SubmitBtn_Click函數并執行。



        這種將代碼都包含在一個文件中的實現方式非常的直接,而且當應用程序很小并不經常修改的時候也可以說是一種好的方法,但是如果下面的一些情況出現的話你也許會開始考慮修改這種實現方法:



        使編程的工作并行并減少由此帶來的發生錯誤的可能性。為了增加工作的并行性,提高效率,你可能想讓不同的人編寫視圖的代碼及模型代碼并盡力減少這種工作方式所帶來的出錯的可能性。例如:當所有的代碼都在一個文件中的話,那么一個編程人員可能會在改變DataGrid顯示格式的時候無意中修改數據訪問的代碼。這種錯誤是很難被發現的,直到頁面整體被編譯的時候才會顯現出來。。



        使你的數據訪問代碼在其它頁面中重用。在這種單文件的實現方式中,除了拷貝代碼,沒有其它的方法能夠做到代碼的重用。拷貝的代碼是很難被維護的,因為一旦代碼發生了變化,你必須在所有的頁面都進行修改。



        為了避免上面這些情況的發生,ASP.NET引入了代碼分離(Code-behind)機制。



        用代碼分離機制進行重構

        Microsoft Visual Studio .NET中的代碼分離機制使視圖層的代碼與模型及控制器的代碼能夠很容易的分離。每個ASP.NET頁面都有一種機制,能夠使其要調用的方法在一個與其分離的類中實現。這種方式使用起來非常的方便,而且也可以利用Visual Studio .NET中的一些其它特性共同完成開發工作。比如如當你利用代碼分離的機制開發你的頁面的時候,可以利用智能感知(IntelliSense technology)顯示出一個可用方法的列表方便編程。而智能感知技術在.aspx頁面中是不能使用的。



        下面給出的是上面例子利用代碼分離機制的實現。



        視圖部分:



        視圖層的代碼現在一個單獨的文件中實現。Solution.aspx:



        <%@ Page language="c#" Codebehind="Solution.aspx.cs"

        AutoEventWireup="false" Inherits="Solution" %>

        <html>

        <head>

        <title>Solution</title>

        </head>

        <body>

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

        <h3>Recordings</h3>

        Select a Recording:<br/>

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

        <asp:button id="submit" runat="server" text="Submit"

        enableviewstate="False" />

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

        大部分代碼都與前面的解決方案的代碼相同。主要的不同點是第一行:

        <%@ Page language="c#" Codebehind="Solution.aspx.cs"

        AutoEventWireup="false" Inherits="Solution" %>



        這行告訴ASP.NET執行環境,這個頁面的具體實現機制在一個單獨的類中。因為這個頁面是獨立的,因此如果數據訪問的代碼發生變化,這個頁面并不需要做任何改動。同樣,一些設計師也可以改變這個頁面的代碼而不會引起任何數據訪

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

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 亚洲五月丁香综合视频| 日韩成人免费aa在线看| 久久久久久影院久久久久免费精品国产小说 | fc2免费人成在线| 国产AV无码专区亚洲AV琪琪| 国产精品亚洲色婷婷99久久精品| 青青草97国产精品免费观看 | 美美女高清毛片视频黄的一免费| 噜噜噜亚洲色成人网站∨| 日韩特黄特色大片免费视频| 亚洲?V无码乱码国产精品| 91大神在线免费观看| 啦啦啦手机完整免费高清观看| 久久精品一区二区免费看| 国产1024精品视频专区免费| 亚洲黄黄黄网站在线观看| 亚洲伊人久久大香线蕉啊 | 欧洲乱码伦视频免费| 国产成人高清亚洲| 亚洲福利电影一区二区?| 亚洲欧洲国产日韩精品| 中文亚洲成a人片在线观看| 亚洲成aⅴ人片在线影院八| 国产精品成人免费观看| 久久这里只有精品国产免费10| 国产L精品国产亚洲区久久| 亚洲AV无码一区二区三区网址 | 亚洲免费观看视频| 国产成人免费在线| 国产精品免费观看调教网| 日本免费v片一二三区| 亚洲精品无码不卡| 在线天堂免费观看.WWW| 色婷婷亚洲十月十月色天| 亚洲视频在线观看不卡| 一级毛片大全免费播放下载| 18禁超污无遮挡无码免费网站国产| 亚洲无人区午夜福利码高清完整版| 亚洲AV无码精品色午夜果冻不卡| 亚洲精品无码久久久久APP| 免费观看国产网址你懂的|