2014-01-28 3 views
0

В моем действии мне нужно перенаправить ниже Action (я использую механизм просмотра aspx).RedirectToAction с дополнительными параметрами?

[HttpGet] 
    public virtual ActionResult Home(Guid id, int? pid) 

и Адрес этой страницы, как:

http://localhost:56445/Bid/Home/23b0b096-aea8-46e4-9a7d-a2bd00eaf72e 

В моем текущем действии у меня есть значение Guid, но не идентификатор процесса.

Я пытаюсь return RedirectToAction("Home","Bid",new {Guid=23b0b096-aea8-46e4-9a7d-a2bd00eaf72e,pid=0});

, но это не так: он сделал URL-адрес, имеющий жала запроса, как показано ниже со следующей ошибкой:

http://localhost:56445/Bid/Home?Guid=23b0b096-aea8-46e4-9a7d-a2bd00eaf72e&pid=0 

The parameters dictionary contains a null entry for parameter 'id' of non-nullable type 'System.Guid' for method 'System.Web.Mvc.ActionResult Home(System.Guid, System.Nullable`1[System.Int32])' in 'IntraClockAuction.Web.Controllers.BidController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter. 
Parameter name: parameters 

Можете ли вы, пожалуйста, руководство и помощь.

ответ

2

Вам необходимо пройти параметр с таким же именем, как вы приняли в способе действий, который в вашем случае, id не Guid

Изменить

return RedirectToAction("Home","Bid",new {Guid=23b0b096-aea8-46e4-9a7d-a2bd00eaf72e,pid=0}); 

Для

return RedirectToAction("Home","Bid",new {id="23b0b096-aea8-46e4-9a7d-a2bd00eaf72e",pid=0}); 
Смежные вопросы