c# - 在 asp.net mvc 中更改路由 url

标签 c# asp.net-mvc url asp.net-mvc-routing

我有登录 Controller 和注册 ActionResult

   public ActionResult Register()
        {
            return View();
        }

如果我将任何数据发布到 Register actionresult url 如下所示,

WebSiteName/Login/Register

我想将路由 url 更改为 WebSiteName/Login/Reg=Id?

所以我尝试了下面但是我无法更改路由 url。

   routes.MapRoute(
         name: "something",
         url: "Login/Reg=Id?",
         defaults: new
         {
             controller = "Login",
             action = "Register",
             id = id = UrlParameter.Optional
         }
     );

那么我如何在 asp.net mvc 中更改 url 呢?

我们将不胜感激。

谢谢。

最佳答案

您正在尝试使用错误形式的 url 参数。您的选择是:

  1. Url部分参数:WebSiteName/Login/Reg/{id}

    为此,您可以使用以下配置

    routes.MapRoute(
         name: "something",
         url: "Login/Reg/{id}",
         defaults: new
         {
             controller = "Login",
             action = "Register",
             id = UrlParameter.Optional
         }
     );
    
  2. 查询字符串参数:WebSiteName/Login/Reg?id={id}

    这里根本不需要在config中指定参数:

    routes.MapRoute(
         name: "something",
         url: "Login/Reg",
         defaults: new
         {
             controller = "Login",
             action = "Register"
         }
     );
    

当然,在这两种情况下,都假定您的操作 Register 具有参数 id。

关于c# - 在 asp.net mvc 中更改路由 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21337823/

相关文章:

c# - ASP MVC 5 和 Bootstrap 中表单控件的对齐不正确

c# - 如何检查 MVC Core 配置文件中的某个部分是否存在?

asp.net-mvc - 如何在 View 中相乘

html - SVG 的加载方式取决于我访问网页的方式

web-services - bit.ly或tinyurl网址是否到期?

c# - 如何在 AuthenticationTokenCreateContext 中设置错误?

c# - 返回从基类继承的嵌套类

嵌入特殊字符的 url 出现 java.lang.IllegalArgumentException

c# - 如何获取从特定类型继承的类的所有方法

c# - 将 ICustomTypeDescriptor.GetProperties 返回的属性动态更改为只读