日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

Asp.Net MVC中的RenderPartial 和 RenderAction 【转】

發布時間:2025/3/14 asp.net 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Asp.Net MVC中的RenderPartial 和 RenderAction 【转】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在Asp.Net MVC中要實現某個功能可以通過許多種方式,今天我們就來討論下使用RenderPartial和RenderAction在視圖中呈現部分內容之間的區別。

比如我們要呈現如下的圖所示的內容

一般的情況下,我們可能需要在母板頁中頁中呈現此內容以保證該內容可以在每個使用該模板的視圖中顯示,并且這些內容需要結合具體的業務邏輯。上圖所示的內容我們是在用戶控件中生成的,這樣做便于該內容與母板頁或者具體的視圖相分離。我們至少有兩種方式來呈現這些內容。這里我們只討論通過RenderPartial和RenerAction的方式呈現的區別以及斟酌權衡使用它們的利弊。

方式1:使用Html.RenderPartial方法(Asp.Net MVC Preview5 加入的新方法)

一個簡單的例子

<% Html.RenderPartial( "SomeControl.ascx", ViewData.Model ); %>

可以看到,這個方法通過接受用戶控件的文件名以及相應的可變化的數據進行用戶控件的呈現

讓我們看看使用這種方式的優點及缺點

  • 優點
  • 使用簡單,不需要建立任何action
  • 缺點
  • 必須填寫具體的用戶控件文件路徑而使視圖得以呈現內容
  • 視圖需要為另外一個視圖提供數據,即
  • 視圖需要承擔組織實體數據的任務,而這恰恰應該是業務邏輯需要做的事情
  • 由于上文所述的視圖提供數據的特點,你可能會跳過控制器而直接向服務層甚至數據庫發出請求。

方式2:使用Html.RenderAction方法

另外一種呈現用戶控件內容的方式和一般情況下呈現視圖的方式相同,即通過控制器決定呈現哪個具體的用戶控件內容。RenderAction方法可以靈活的通過控制器選擇呈現特定的視圖、用戶控件或部分內容。

一個簡單的例子

<% Html.RenderAction<MyController>( x => x.ControllerAction() ); %>
  • 優點
  • 讓控制器做它該做的事情:組織邏輯及與業務邏輯之間的通信。
  • 將實際使用的視圖/用戶控件抽象出來,便于未來的重構。
  • 將控制器中的業務邏輯抽象出來,這也讓你的業務邏輯可以專心做它該做的事。
  • 使用lambda表達式,強類型
  • 缺點
  • 必須新建一個action處理請求

Ok,have fan~

轉載于:https://www.cnblogs.com/cxd4321/archive/2009/09/28/1575509.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的Asp.Net MVC中的RenderPartial 和 RenderAction 【转】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。