首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RenderAction中的ActionLink

RenderAction中的ActionLink
EN

Stack Overflow用户
提问于 2009-07-24 11:35:15
回答 2查看 1.4K关注 0票数 0

我正在使用RenderAction在我的视图中包含几个“组件”的输出。但每次我在嵌套操作中使用对ActionLink的RenderAction调用时,都会产生错误的路由。(RouteLink也是如此。)如果直接调用该操作,则会生成正确的路由。

因此,我在父视图的索引操作中多次调用该操作:

代码语言:javascript
复制
<% Html.RenderAction<StateAdminController>(c => c.Index(StateType.Event)); %>  
<% Html.RenderAction<StateAdminController>(c => c.Index(StateType.Booking)); %>  
<% Html.RenderAction<StateAdminController>(c => c.Index(StateType.Communication)); %>  
<% Html.RenderAction<StateAdminController>(c => c.Index(StateType.Payment)); %>  

在嵌套的索引视图中,我尝试对StateAdminController的ActionLink方法进行编辑:

代码语言:javascript
复制
<%= Html.ActionLink<StateAdminController>(c => c.Edit(state.Id), "Bearbeiten") %>  

但是ActionLink指向我的父视图的索引操作。

这是一个已知的问题吗?我能做错什么吗?当从RenderAction调用操作时,应该如何执行ActionLinks?

提前谢谢你。

致以问候。

约阿希姆

EN

回答 2

Stack Overflow用户

发布于 2009-07-30 18:43:07

你提到了路线。值得注意的是,当您使用RenderAction时,控制器是直接调用的(即,不是从Url调用的)。因此,它不会通过您的路由表。

票数 0
EN

Stack Overflow用户

发布于 2009-10-04 20:36:27

我宁愿将我的视图模型设计为包含所有变体的属性,然后调用RenderPartial()

代码语言:javascript
复制
<% Html.RenderPartial("StateAdmin", Model.Event); %>  
<% Html.RenderPartial("StateAdmin", Model.Booking); %>  
<% Html.RenderPartial("StateAdmin", Model.Communication); %>  
<% Html.RenderPartial("StateAdmin", Model.Payment); %>  

或者甚至使用我自己的扩展方法,它循环遍历一个集合并为每个集合调用RenderPartial()

代码语言:javascript
复制
<% Html.RenderPartials("StateAdmin", Model.StateTypes); %>  

虽然RenderAction()做到了这一点,但在我看来,从视图调用和呈现操作似乎有点错。视图已经是一个操作的结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1177098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档