2016-09-24 3 views
0

Когда я создаю новую запись, я пытаюсь перенаправить на страницу редактирования с этим.URL redirect issue.in asp.net mvc

return RedirectToAction("Edit", "Organization", new { OrgId = organization.OrgId }); 

Однако результат таков.

http://localhost:1626/Organization/Edit?OrgId=5 

, когда он должен быть

http://localhost:1626/Organization/Edit/5 

Почему это?

ответ

1

шаблон маршрута по умолчанию для регистрации маршрута по умолчанию является "{controller}/{action}/{id}", Итак, если вам нужен URL-адрес с этой структурой, вы можете переименовать имя параметра метода действия в Id

public ActionResult Edit(int id) 
{ 
    // to do : Return something 
} 

Другой вариант заключается в использовании Attribute routing и указать шаблон маршрута для метода действия с существующим параметром (OrgId)

[Route("Organization/Edit/{OrgId}")] 
public ActionResult Edit(int OrgId) 
{ 
    // to do : Return something 
} 
+0

Awesome, я просто был медленным в эту субботу morning.I'll дать вам галочку, если это позволяет мне. – tom

-1

Если вы не изменили свои значения таблицы маршрутов,

Тогда вы должны изменить свой параметр действия на id вместо OrgId,

Или вы должны изменить значения таблицы маршрутов от

{controller}/{action}/{id}

в

{controller}/{action}/{OrgId}

+0

Уже есть ответ с теми же строками кода .. – mmushtaq