当我创建新记录时,我尝试使用此方法重定向到编辑页面。
return RedirectToAction("Edit", "Organization", new { OrgId = organization.OrgId });
然而,结果就是这样。
http://localhost:1626/Organization/Edit?OrgId=5
什么时候应该
http://localhost:1626/Organization/Edit/5
为什么会这样?
答案 0 :(得分:1)
您必须更改路线图,当前可能会显示
"{controller}/{action}/{id}"
到"{controller}/{action}/{OrgId}"
答案 1 :(得分:1)
默认路由注册的默认路由模式为"{controller}/{action}/{id}",
因此,如果您需要具有该结构的网址,则可以将操作方法参数名称重命名为Id
public ActionResult Edit(int id)
{
// to do : Return something
}
另一种选择是使用Attribute routing并使用现有参数(OrgId)为action方法指定此路由模式
[Route("Organization/Edit/{OrgId}")]
public ActionResult Edit(int OrgId)
{
// to do : Return something
}
答案 2 :(得分:-1)
如果您尚未更改路线表值,
然后你应该将你的action参数改为id而不是OrgId,
或者您应该从
更改路线表值 {controller}/{action}/{id}
到
{controller}/{action}/{OrgId}