MVC返回Action搜索当前的Actionresult视图

时间:2013-07-05 08:19:38

标签: c# asp.net-mvc

  public ActionResult xyz(int? page)
        {
            return Index(page);
        }

我想要做的是xyz返回与索引相同的东西。我只想定义两个实际相同的url。我检查它是否正在尝试查找xyz.cshtml

看起来不太好看。我认为它只会返回索引功能而且已经完成了。这让我很惊讶。如果我直接返回索引函数然后如何搜索xyz.cshtml,有人可以在这里给我看。

有人请告诉我使用index.cshtml的方式以及我返回索引的方式显示我想要的页面。

Paritosh的回答让我回到了我想要的页面。但是现在通过Viewdata和Viewbag传递任何东西都会产生问题。

 public ActionResult Index(int? page)
        {
            int pagenum = page ?? 1, limit = Globals.xyz_PAGE_SIZE;

            int startrow = (pagenum - 1) * limit;

            ViewBag.xyzCount = xyz.xyzget();
            ViewBag.Pagesize = Globals.xyz_PAGE_SIZE;
            ViewBag.xyz= blahblah.xyz(startrow, Globals.xyz_PAGE_SIZE + 1);
            return View();
}

我创建另一个动作的意思就是创建两个url。如果我用路由做的话怎么样路由是更好的选择还是他们没有办法解决这个问题。

2 个答案:

答案 0 :(得分:6)

您需要在此处传递视图名称

public ActionResult xyz(int? page)
{
    return View("Index",page);
}

如果你没有传递视图名称,那么它将搜索与Action方法同名的视图 - 这里是xyz.cshtml。这就是你面临问题

的原因

答案 1 :(得分:2)

实际上你有两个选择:

//immediately show the "Index" View
return View("<Path_To_Index_View>", page);

或者

//Redirect to the "Index" Action
return RedirectToAction("Index", page);

选择您需要的那个。