我想发布关于ASP.Net MVC的一些问题。我不熟悉web开发,但我被分配到一个项目的Web部分。我们正在做以下事情:首先,我们创建get&设置人员数据的属性:
public class Person { public int personID {get;set;} public string personName {get;set;} public string nric {get;set;} }
登录后,我们将数据放在Person类中,我们使用RedirectToAction,如下所示:
return RedirectToAction("profile","person",new { personID = Person.personID});
解决方法
该参数显示在URL中,因为这是RedirectToAction的第三个参数是路由值。
默认路由为{controller} / {action} / {id}
所以这段代码:
return RedirectToAction("profile",new { personID = Person.personID});
将产生以下URL /路由:
/人/资料/ 123
如果你想要一个更干净的路线,像这样(例如):
/人/ 123
创建新路线:
routes.MapRoute("PersonCleanRoute","people/{id}",new {controller = "Person",action = "Profile"});
而且你的URL应该是干净的,就像上面那样。
或者,您可能不喜欢使用ID,您可以使用一些其他唯一标识符,如昵称。
所以URL可能是这样的:
人/ rpm1984
要做到这一点,只需改变路线:
routes.MapRoute("PersonCleanRoute","people/{nickname}",action = "Profile"});
和你的行动方法:
public ActionResult Profile(string nickname) { }
和您的RedirectToAction代码:
return RedirectToAction("profile",new { nickname = Person.nickname});
那是你以后吗?