在asp.net mvc中的RedirectToAction用法

前端之家收集整理的这篇文章主要介绍了在asp.net mvc中的RedirectToAction用法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想发布关于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中。我怎么可以隐藏他们呢
我可以隐藏动作名称吗?请指导我正确的方法,一些例子。

解决方法

该参数显示在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});

那是你以后吗?

原文链接:https://www.f2er.com/aspnet/252926.html

猜你在找的asp.Net相关文章