Geo*_*lva 25 asp.net-mvc renderpartial
我需要表示两个数据库实体,我需要在一个页面中输出它们.
我有类似的东西
视图Def ViewA ViewB测试ViewC
我希望ViewC显示ViewA,它显示ViewB.
现在我正在使用这样的东西:
// View C
<!-- bla -->
<% Html.RenderPartial(Url.Content("../Definition/DefinitionDetails"), i); %>
// View A
<!-- bla -->
<% Html.RenderPartial(Url.Content("../Definition/DefinitionEditActions")); %>
Run Code Online (Sandbox Code Playgroud)
这样做有好处吗?我发现用相对路径名链接会烧掉你.有小费吗?
我有机会像...那样做些什么
Html.RenderPartial( "定义", "DefinitionDetails",i)的; ?
谢谢您的帮助
小智 46
这对我有用!
@Html.Partial("~/Views/NewsFeeds/NewsFeedPartial.cshtml")
Run Code Online (Sandbox Code Playgroud)
Mat*_*man 34
您可以参考具有完整路径的视图,例如:
Html.RenderPartial("~/Views/Definition/DefinitionDetails")
Run Code Online (Sandbox Code Playgroud)
更好的是,使用T4MVC库,它执行上述操作并使其(准)强类型.您可以从任何控制器或视图引用任何视图.你这样使用它:
Html.RenderPartial(MVC.Definition.Views.DefinitionDetails)
Run Code Online (Sandbox Code Playgroud)
要么
Html.RenderPartial(MVC.Definition.Views.DefinitionDetails, myModel)
Run Code Online (Sandbox Code Playgroud)
Gon*_*ing 11
只是为了澄清哪些选项完全正常:
以下示例假设cshtml文件.
RenderPartial一个代码块:// This looks in default view folder, then shared, checking for .aspx, .cshtml etc
Html.RenderPartial("DefinitionDetails");
// This looks in specified path and requires the extension
Html.RenderPartial("~/Views/Definition/DefinitionDetails.cshtml");
Run Code Online (Sandbox Code Playgroud)
Partial内联剃刀语法:// This looks in default view folder, then shared, checking for .aspx, .cshtml etc
@Html.Partial("DefinitionDetails")
// This looks in specified path and requires the extension
@Html.Partial("~/Views/Definition/DefinitionDetails.cshtml")
Run Code Online (Sandbox Code Playgroud)
注意:显然RenderPartial比稍快一点Partial,但我也希望完全修改的名称比让MVC搜索文件更快.
如果要在循环中生成partials(即从视图模型中的集合中生成),则可能需要通过特定的viewmodel:
@foreach (var group in orderedGroups)
{
Html.RenderPartial("~/Views/ControllerName/ViewName.cshtml", group);
}
Run Code Online (Sandbox Code Playgroud)
我只需要在一个项目上完成所有这些工作,并发现标记的答案有点误导.
| 归档时间: |
|
| 查看次数: |
41376 次 |
| 最近记录: |