2011-04-11 112 views
1

您好我對asp.net還有點新意,它可以做些什麼。我期待在一個主頁上使用一些強類型的部分視圖。我不知道如何用存儲庫和Irepository來做到這一點。在一個主頁上,asp.net的多個部分視圖mvc

我只做到現在,當我嘗試加載頁面時不斷收到錯誤。

<%Html.RenderPartial("~/Views/Shared/Partial.ascx", Model);%> 

我必須使用viewData傳遞信息給視圖嗎?任何幫助都會感激不盡,連同任何例子。 任何人可以請幫助 認爲

+0

什麼是錯誤? – 2011-04-11 20:22:22

回答

1

我將不得不使用可視數據傳遞 信息有何看法?

是的。

如果您不想通過相同的控制器方法將數據傳遞到局部視圖,請考慮使用RenderAction而不是RenderPartial。您將需要更多控制器方法,但每次使用局部視圖時,您不必在現有控制器方法中重複您的數據綁定代碼。

+0

Harvery - 我得到的錯誤是:對象引用未設置爲對象的實例。我如何使用viewDate將其傳遞給視圖?請你可以給我一個例子,如果可能的話,包括使用repository/Irepository/controller – Trev 2011-04-11 20:31:08

1

我打算區別於其他答案並說:。你應該而不是使用tempdata將信息傳遞到局部視圖。根據你在做什麼,你應該創建一個複合視圖模型。最佳實踐聲明,您不應將模型直接傳遞給視圖,而應該創建ViewModels。

看到這裏接受的答案大約複合視圖模式:ViewModel Best Practices

public class CompositeViewModelAB { 
    public ViewModelA viewModelA { get; set; } 
    public ViewModelB viewModelB { get; set; } 
} 

然後:

@Partial("~/path.cshtml", Model.viewModelA) 

這滿足的一切都將被強類型的情況。您的主頁將強制鍵入複合視圖模型,並且您的部分將被強制輸入到複合視圖模型中包含的視圖模型。

相關問題