在一个主页上,asp.net的多个部分视图mvc
您好我对asp.net还有点新意,它可以做些什么。我期待在一个主页上使用一些强类型的部分视图。我不知道如何用存储库和Irepository来做到这一点。在一个主页上,asp.net的多个部分视图mvc
我只做到现在,当我尝试加载页面时不断收到错误。
<%Html.RenderPartial("~/Views/Shared/Partial.ascx", Model);%>
我必须使用viewData传递信息给视图吗?任何帮助都会感激不尽,连同任何例子。 任何人可以请帮助 认为
我将不得不使用可视数据传递 信息有何看法?
是的。
如果您不想通过相同的控制器方法将数据传递到局部视图,请考虑使用RenderAction
而不是RenderPartial
。您将需要更多控制器方法,但每次使用局部视图时,您不必在现有控制器方法中重复您的数据绑定代码。
Harvery - 我得到的错误是:对象引用未设置为对象的实例。我如何使用viewDate将其传递给视图?请你可以给我一个例子,如果可能的话,包括使用repository/Irepository/controller – Trev 2011-04-11 20:31:08
我打算区别于其他答案并说:否。你应该而不是使用tempdata将信息传递到局部视图。根据你在做什么,你应该创建一个复合视图模型。最佳实践声明,您不应将模型直接传递给视图,而应该创建ViewModels。
看到这里接受的答案大约复合视图模式:ViewModel Best Practices
public class CompositeViewModelAB {
public ViewModelA viewModelA { get; set; }
public ViewModelB viewModelB { get; set; }
}
然后:
@Partial("~/path.cshtml", Model.viewModelA)
这满足的一切都将被强类型的情况。您的主页将强制键入复合视图模型,并且您的部分将被强制输入到复合视图模型中包含的视图模型。
什么是错误? – 2011-04-11 20:22:22