URL重定向issue.in asp.net mvc
问题描述:
当我创建一个新的记录时,我试图用这个重定向到编辑页面。URL重定向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
这是为什么?
答
你必须改变你的路线图,这可能看起来像这样目前
"{controller}/{action}/{id}"
到"{controller}/{action}/{OrgId}"
答
缺省路由注册默认路由模式"{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
}
答
如果你没有改变你的路由表中的值,
然后你应该改变你的行动参数为ID而不是OrgId,
或者你应该改变你的路线表值从
{controller}/{action}/{id}
到
{controller}/{action}/{OrgId}
+0
已有相同代码行的答案。 – mmushtaq
真棒,我当时是这个周六缓慢morning.I'll给你选中标记,它让我。 – tom