【问题标题】:ASP.net MVC 2 RenderAction with model throws URI too long exception带有模型的 ASP.net MVC 2 RenderAction 引发 URI 太长异常
【发布时间】:2013-06-14 15:38:54
【问题描述】:

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

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

控制器动作看起来像下面

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

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

任何帮助将不胜感激。

【问题讨论】:

    标签: asp.net asp.net-mvc uri rtf


    【解决方案1】:

    不幸的是,对此我们无能为力。子动作,目前实现的功能在很大程度上与正常动作一样。当您将完整模型作为参数传递给子操作时,它实际上是将模型序列化为字符串并将其作为查询字符串参数附加。因此,即使没有公开真实的 URL,在后台生成和检索的 URL 也会超出最大范围。

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

    【讨论】:

    • 感谢 Chris,感谢您的确认,我已经开始使用基于 id 的解决方案了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多