2014-11-29 3 views
1

Я пытаюсь перенаправить на ту же страницу индекса, которая выполняет несколько действий.Asp.Net MVC - перенаправление на ту же страницу без прохождения параметра

Проблема заключается в том, когда в индекс страницы с параметром ид "http://example.com/Student/Index/1" Url.Action ("Index") или Html.ActionLink ("Index") всегда будет генерировать: "http://example.com/Student/Index/1" вместо "http://example.com/Student"

Это происходит в меню и Breadcrumb.

Контроллер:

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

Есть ли способ перенаправления одной страницы без параметра на View?

ответ

4

Вы можете установить значение маршрута в пустую строку

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

Замечательно, но я никогда не мог принять что-то подобное. Его работа, спасибо. – erw13n

-2

Там может быть несколько способов. Действие Link, который генерирует ссылку HTML

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

генерировать как:

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

URL.action который только genrates URL, который вам нужно будет поместить в HTML ссылку тега

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

генерирует

/somecontroller/someaction/123 
+1

Что это касается вопроса? Я предлагаю вам внимательно прочитать его. –