Asp.Net MVC - 重定向到同一页面而不传递参数

时间:2014-11-29 07:10:02

标签: c# asp.net-mvc asp.net-mvc-routing

我正在尝试在执行多项操作的同一个索引页面中重定向。

问题是在带有id参数“http://example.com/Student/Index/1”的索引页面中 Url.Action(“Index”)或Html.ActionLink(“Index”)将始终生成:“http://example.com/Student/Index/1”而不是“http://example.com/Student

这发生在Menu和Breadcrumb上。

控制器:

public ActionResult Index(int? id)
{
   if (id == null) {
      // Show List
   } else if (id <= 0) {
      // Show Create Form
   } else {
      //Show Edit Form
   }
}

有没有办法在View上没有参数的情况下重定向到同一页?

2 个答案:

答案 0 :(得分:4)

您可以将路线值设置为空字符串

@Html.ActionLink("Link text", "Index", new { id = "" })

答案 1 :(得分:-2)

可以有多种方式。 生成html链接的Action Link

@Html.ActionLink("link text", "someaction", "somecontroller", new { id = "123" }, null)

生成为:

<a href="/somecontroller/someaction/123">link text</a>

URL.action,它只生成你需要放入html链接标记的URL

Url.Action("someaction", "somecontroller", new { id = "123" })

生成

/somecontroller/someaction/123