将操作指向同一视图

时间:2010-02-03 14:03:51

标签: asp.net asp.net-mvc

我有一个控制器,其行为如下......

public ActionResult YellowList()

public ActionResult RedList()

public ActionResult BlueList()

所有这些操作都填充相同的viewModel(ListViewModel)。

如何让它们全部指向同一个视图(aspx)?

谢谢,

ETFairfax。

2 个答案:

答案 0 :(得分:0)

在您的操作中使用view方法的重载:

public ActionResult YellowList()
{
    ListViewModel model = GetSomeModel();
    return View("viewName", model);
}

public ActionResult RedList()
{
    ListViewModel model = GetSomeModel();
    return View("viewName", model);
}

public ActionResult BlueList()
{
    ListViewModel model = GetSomeModel();
    return View("viewName", model);
}

答案 1 :(得分:0)

这是Controler:

public class ColorsController : Controller
{
    //
    // GET: /Colors/

    public ActionResult Index()
    {
        return View();
    }

    public ActionResult Red()
    {
        ViewData["Color"] = "<span style=\"color:Red\">Red</span>";
        return View("ColorName");
    }

    public ActionResult Green()
    {
        ViewData["Color"] = "<span style=\"color:Green\">Green</span>";
        return View("ColorName");
    }
}

以下是视图:

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <h2>ColorName</h2>
    <h3>You Selected: <%= ViewData["Color"] %></h3>
</asp:Content>