2

在 ASP.net MVC 2 中,我使用 Html.RenderAction 渲染局部视图,RenderAction 将模型作为参数,代码如下。

<% Html.RenderAction("ReviewPartial", review); %>

控制器动作如下所示

[Authorize(Roles = "Admin, Super User")]
public ActionResult ReviewPartial(Review review)

评论对象可以在其属性之一中包含一些富文本数据,在大多数情况下它可以正常工作,但如果数据太长,则会给出错误“URI 太长”

任何帮助将不胜感激。

4

1 回答 1

2

不幸的是,没有什么可以真正做到这一点。子动作,目前实现的功能在很大程度上与正常动作一样。当您将完整模型作为参数传递给子操作时,它实际上是将模型序列化为字符串并将其作为查询字符串参数附加。因此,即使没有公开真实的 URL,在后台生成和检索的 URL 也超过了最大界限。

您最好的选择是永远不要将完整模型传递给子动作。而是只传递 id 或类似的,然后在子操作中查找它。

于 2013-06-14T19:49:32.590 回答