URL.Action включает идентификатор при построении URL

Я использую ASP.Net MVC. Вот мои фрагменты кода из контроллера с именем Course:

public ActionResult List(int id)
{
    var viewmodel.ShowUrl = Url.Action("Show", "Course");


   ...
}

public ActionResult Show(int id)
{
 ...
}

viewmodel.ShowUrl выбирает любое значение параметра «id». Таким образом, viewmodel.ShowUrl становится «/Course/Show/151» (, значение идентификатора равно 151 ); Я хочу иметь возможность установить часть идентификатора на клиенте на основе взаимодействия с пользователем. Я хочу, чтобы значение viewmodel.ShowUrl было «/Course/Show».

Мне это кажется ошибкой. Я не говорю Url.Action включать значение идентификатора. Он делает это самостоятельно. Если бы я хотел установить значение id, я бы сделал что-то вроде этого:

var viewmodel.ShowUrl = Url.Action("Show", "Course", new {id = somevalue});

Итак, как предотвратить добавление значения id в MVC? Я могу жестко закодировать viewmodel.ShowUrl в «/Course/Show», но это кажется нелепым решением. Спасибо.

23
задан Tom Schreck 17 April 2012 в 22:23
поделиться