0

我有 asp.net mvc 3 网站,我想为所有页面添加反馈功能。

为此,我创建了局部视图并将其呈现在主布局中。

    @model FeedbackHelper
    Name:<br />
    @Html.TextBoxFor(o=>Model.Name)

例如在问题页面中,MVC 返回异常,因为该页面绑定了POST实体,就我在StackOverflow中检查而言,我有 2 个解决方案

  • 创建父模型并添加POSTFeedbackHelper作为属性
  • 使用元组

目前,更改所有模型对我来说风险太大。

有什么好的解决办法吗?!

4

1 回答 1

1

您可以使用子操作。这个想法是定义一个特定的控制器操作,它将为部分视图提供服务,然后使用@Html.Action帮助器将其包含在您的布局中。

所以:

public ActionResult Feedback()
{
    FeedbackHelper model = ...
    return PartialView(model);
}

那么你当然会在共享文件夹中有一个部分:

@model FeedbackHelper
Name:<br />
@Html.TextBoxFor(o => o.Name)

并将其包含在您的布局中:

@Html.Action("Feedback", "ControllerContainingTheFeedbackAction")
于 2012-07-22T14:04:21.567 回答