2014-12-12 3 views
0

Я пытаюсь передать параметр через URL.Пытается пройти параметр Guid в HTML.ActionLink, но получение? Length = 5

Я пропускание Guid в моей URL:

http://localhost:55097/Admin/ListCase/a2cc5900-bdff-41f1-9c2a-21032a5275de 

И пытаюсь захватить его в следующем зрении и добавить его к другому URL в качестве параметра:

@Html.ActionLink("Add a Cover","CreateCover","Admin", new { id=Request.QueryString[0]}) 

Я ve попытался использовать его как ViewBag и захватить его из QuesryString (как показано выше), но или по какой-то причине результирующая ссылка выходит с длиной = 5 в конце. Не руководство.

Любые идеи ???

+1

первый не является строкой запроса, это сегмент URL. поместив '?' перед GUID, вы получите значение строки запроса. – ps2goat

ответ

0

Как @ ps2goat говорит, что путь, по которому вы построили URL, делает GUID частью пути, а не строкой запроса. Вы также можете дать ему ключ для идентификации:

http://localhost:55097/Admin/ListCase/?guid=a2cc5900-bdff-41f1-9c2a-21032a5275de 

Затем вы можете восстановить его с помощью «справ» ключ:

@Html.ActionLink("Add a Cover","CreateCover","Admin", new { id=Request.QueryString["guid"]}) 
0

Попробуйте изменить вашу ссылку действий на другой метод перегрузки и получить параметр id из коллекции данных маршрута, а не из строки запроса, как,

@Html.ActionLink("Add a Cover","CreateCover", routeValues: new { controller = "Admin", id= Request.RequestContext.RouteData.Values["id"]})