5

如何将现有视图附加到操作?我的意思是,我已经将这个视图附加到了一个动作,但我想要附加到第二个动作。

示例:我有一个名为 Index 的操作和一个视图,同名,附加到它,右键单击,添加视图...,但是现在,如何附加到第二个?假设有一个Action叫Index2,如何实现呢?

这是代码:

//this Action has Index View attached
public ActionResult Index(int? EntryId)
{
   Entry entry = Entry.GetNext(EntryId);

   return View(entry);
}

//I want this view Attached to the Index view...
[HttpPost]
public ActionResult Rewind(Entry entry)//...so the model will not be null
{
   //Code here

   return View(entry);
}

我用谷歌搜索并找不到正确的答案......这可能吗?

4

2 回答 2

6

您不能将操作“附加”到视图,但您可以使用Controller.ViewMethod定义您希望操作方法返回的视图

public ActionResult MyView() {
    return View(); //this will return MyView.cshtml
}
public ActionResult TestJsonContent() {
    return View("anotherView");
}

http://msdn.microsoft.com/en-us/library/dd460331%28v=vs.98%29.aspx

于 2013-01-31T13:13:57.543 回答
4

这有帮助吗?您可以使用 View 的重载来指定不同的视图:

 public class TestController : Controller
{
    //
    // GET: /Test/

    public ActionResult Index()
    {
        ViewBag.Message = "Hello I'm Mr. Index";

        return View();
    }


    //
    // GET: /Test/Index2
    public ActionResult Index2()
    {
        ViewBag.Message = "Hello I'm not Mr. Index, but I get that a lot";

        return View("Index");
    }


}

这是视图(Index.cshtml):

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

<p>@ViewBag.Message</p>
于 2013-01-31T13:38:00.507 回答