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

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

它看起来不太好。我认为它只会返回索引函数并完成。这让我很惊讶。如果我直接返回索引函数,那么有人可以告诉我这里如何搜索 xyz.cshtml。

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

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。如果我用路由来做呢?路由是更好的选择还是他们不是处理这个麻烦的好方法。

4

2 回答 2

6

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

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

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

于 2013-07-05T08:24:28.210 回答
2

事实上你有两个选择:

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

或者

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

选择您需要的那个。

于 2013-07-05T08:23:58.973 回答