不显示URL ASP MVC4

时间:2016-02-29 05:54:14

标签: asp.net asp.net-mvc asp.net-mvc-4

我在MVC中创建一个简单的注册登录视图配置文件应用程序,当我调用视图配置文件的操作方法时,我会根据他/她的名字搜索用户。 现在我的问题是用户名在网址中可见 像这样

' http://localhost:23444/Home/EditProfile用户名=箭头'?

此处arrow是我的用户名。 现在我不希望任何细节都显示在这样的网址中 有没有办法做到这一点 我试图改变我的RouteConfig.cs仍然无法正常工作。 这是我的RouteConfig.cs文件

 public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}",
            defaults: new { controller = "Home", action = "Index" }
        );
    }
}

请告诉我如何解决这个问题。 提前谢谢。

2 个答案:

答案 0 :(得分:1)

您不要将用户名设置为ID,请按照以下步骤操作。

  1. 在DB中创建一个唯一列,其中包含唯一标识符的类型(C#中的GUID)。
  2. 在使用用户详细信息将新GUID插入数据库期间生成新GUID。
  3. 现在获取具有GUID列的用户列表。
  4. 现在,在创建网格时,请按以下方式设置您的网址 -

    @ Url.Action(" EditProfile"," Home",new {id = item.guidProp})

答案 1 :(得分:1)

如果您具有搜索功能,则会出现此行为。如果您只是不想在URL中显示它,请将宿舍的方法更改为 POST 。这应该将其隐藏在URL中。

如果您有其他人的个人资料的链接,那么您应该关注@ vikas_jagdale的回答。显示一个唯一的ID代替名称。

最好是发布生成此URL的代码部分,这将有助于其他人具体。