有可能兩個不同的視圖使用相同的控制器? 我有非常複雜的控制器,顯示一些數據。現在我需要在兩個部分視圖中顯示這些數據(使用ajax檢索),因爲我想將它們放在佈局中的不同位置。asp.net mvc2 - 兩個(或更多)視圖使用相同的控制器?
0
A
回答
2
視圖()函數可以傳遞參數,例如:
return View(); // The view with the same name as the action.
return View("MyView") // The view named "MyView"
有幾個重載過。這是否符合法案?
如果不是,爲什麼不是局部的觀點,比如,給這款機型:
public class BlogItem
{
public string Title { get; set; }
public int Id { get; set; }
}
,因此這個動作:
public ActionResult Index()
{
var items = new List<BlogItem>
{
new BlogItem { Title = "Test Blog Item", Id = 1 }
};
return View(items);
}
這種觀點:
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<List<BlogItem>>" %>
<asp:Content ContentPlaceHolderID="MainContent" runat="server">
<% Html.RenderPartial("List", Model); %>
<% Html.RenderPartial("Icon", Model); %>
</asp:Content>
我可以有兩個使用相同型號的部分視圖:
列表:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<List<BlogItem>" %>
<ul>
<% foreach (var item in Model) { %>
<li><%= item.Title %></li>
<% } %>
</ul>
圖標:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<List<BlogItem>" %>
<div>
<% foreach (var item in Model) { %>
<div class="icon"><img src="..." /></div>
<div class="text"><%= item.Title %></div>
<% } %>
</div>
將這項工作?
0
根據我目前爲止的理解,您希望一個控制器操作返回兩個視圖。我以某種方式認爲這是不可能的。
你已經提到,用於顯示相同數據的視圖是不同的方式。我的建議是從控制器操作返回一個JsonResult
並構建視圖客戶端。
+0
oops - 根據您的評論,我現在已經正確閱讀,您可能會這樣做。 – Ahmad 2010-06-10 08:47:05
相關問題
- 1. 從多個控制器動作更新相同視圖 - 導軌
- 2. asp.net mvc2 ????何時使用模型,控制器,視圖,腳本?
- 3. 在MVC中使用相同的控制器多視圖3
- 4. 相同視圖控制器的UI的多個變體
- 5. Swift將多個類添加到相同的視圖控制器
- 6. 多個資源相同的控制器/視圖
- 7. ASP.NET MVC2渲染它自己的控制器的局部視圖
- 8. 使用視圖控制器管理兩個其他視圖控制器
- 9. 在春季使用一個控制器調用2個或更多視圖java
- 10. 故事板:如何在多個地方使用相同的視圖控制器?
- 11. 從不同的視圖控制器打開相同的視圖
- 12. 在2個視圖控制器中使用相同的UIWebview作爲子視圖
- 13. 從ASP.NET MVC2控制器返回ad-hoc視圖模型
- 14. ASP.NET MVC2模型/視圖/控制器代碼
- 15. 使用多個控制器在同一視圖與離子
- 16. 使用分段控制器使用兩個容器視圖
- 17. 兩個控制器以相同PARAMS
- 18. ASP.Net MVC2使用DataAnnotations以不同的方式驗證相同類的兩個ViewModel
- 19. MVC另一個控制器或視圖?
- 20. 如何使用相同的angularjs控制器重定向視圖?
- 21. 一個視圖中的兩個不同的控制器
- 22. MVC2和兩個不同的模型使用相同的控制器方法?可能?
- 23. 從一個視圖控制器傳遞相同數據的兩個段落
- 24. 如何設置一個默認的控制器或使用asp.net MVC2
- 25. 一個控制器兩個視圖
- 26. 多視圖綁定相同的控制器?最佳方案?
- 27. rails 3 - 調用相同的控制器/動作,但有兩個不同的視圖更改
- 28. 使用不同視圖控制器
- 29. asp.net多個網址指向相同的控制器
- 30. Asp.net MVC相同的控制器爲多個路由
我不能在控制器中同時返回兩次嗎? – 2010-06-08 07:45:34
@ile:不,但您可以在每個操作方法中使用條件邏輯並相應地選擇您的視圖。或者使用通用視圖並將其傳遞給一些模板以進行解析(雖然這有點高級)。 – Simon 2010-06-08 07:56:32
什麼條件邏輯?我需要控制器在同一時間將數據傳遞給兩個視圖。這是不可能的? – 2010-06-08 08:06:43