【问题标题】:how to use resolve url in mvc controller如何在 mvc 控制器中使用解析 url
【发布时间】:2016-03-04 09:36:16
【问题描述】:

任何机构都可以帮我解析MVC中的url(路由url)

当我进入系统时,它会将我重定向到仪表板,它运行良好。

我有用户定义的菜单,其路由值存储在数据库中,如下所示 假设我进入系统它会将我重定向到仪表板页面 假设我想重定向到用户主页面,那么 url 应该如下 http://localhost:6782/Home/Index

但是当我尝试重定向到主页索引页面时,网址应该如下所示 http://localhost:6782/Dashboard/~/Voucher/Create

我想删除仪表板/~ 请告诉我怎么知道

【问题讨论】:

  • 嗨@vaibhav 请使用@Href("~/Voucher/Create") 或使用@URL.Action()
  • 动态创建的url如下 strMenu = strMenu + "
  • " + subItem.vDescription + " ";我试过@URL.Action() 但它不起作用所以请帮助我
  • strMenu = strMenu + "
  • " + subItem.vDescription + " ";我希望它有帮助:)
  • 我试过了,但它告诉我localhost:6782/Dashboard/@Href('~/''Voucher/Create'仪表板没有得到解决
  • 请告诉我,您使用的是 razor 或 aspx mvc 的哪个渲染引擎,以及您在控制器或视图中生成 url 的位置?
  • 标签: asp.net-mvc


    【解决方案1】:

    如果您在 MVC 应用程序中使用 IIS URL 重写,例如在内部将http://yoursubdomain.example.com/MyController/MyAction 视为http://hosted.example.com/yoursubdomain/MyController/MyAction,Url.Content() 将生成正确的子域相关链接。 ResolveUrl() 在这种情况下会生成一个不正确的链接。

    来源:Should I use Url.Content() or ResolveUrl() in my MVC views?

    【讨论】:

      【解决方案2】:

      你应该考虑@Url.Content("~\Action\")。

      【讨论】:

        【解决方案3】:

        您不应将 URL 存储在数据库中,因为 URL 可能会根据路由规则而更改。

        尝试将控制器名称和动作名称存储在数据库中,并在构建菜单的代码中使用@Url.Action 并传递从数据库中检索到的控制器和动作

        【讨论】:

          猜你喜欢
          相关资源
          最近更新 更多
          热门标签