【问题标题】:jQuery, Razor, Variables, URLs... How to use @Url.ActionjQuery、Razor、变量、URL... 如何使用@Url.Action
【发布时间】:2013-10-09 07:34:36
【问题描述】:

我有一个 CodesController,Index 操作看起来像这样。

public ActionResult Index(int id, string manufacturerName)

我希望 URL 看起来像 http://www.domain.com/codes/[id]/[manufacturerName] 但我目前使用的代码看起来像http://www.domain.com/codes/[id]?manufacturerName=[manufacturerName]

<script type="text/javascript">
    $(function() {
        $('#btnNext').click(function () {
            var _id = $('#ddlManufacturers').val();
            var _manufacturerName = $('#ddlManufacturers').text();
            var url = '@Url.Action("Index", "Codes", new { id = "_id", manufacturerName = "_manufacturerName" })'
            .replace('_id', _id).replace('_manufacturerName', _manufacturerName.toLowerCase().trim());
            window.location.href = url;
        });
    });

这就是我现在正在做的事情,但不确定如何正确地做,所以 URL 变成了我想要的方式。代码

【问题讨论】:

    标签: jquery asp.net-mvc razor routing


    【解决方案1】:

    据我了解,您需要添加类似的路线

    routes.MapRoute(
        name: "CodesRoute",
        url: "{controller}/{action}/{id}/{manufacturerName}",
        new { controller = "Codes",  action = "Index",
            manufacturerName = UrlParameter.Optional 
        }
    );
    

    之后你可以使用Html.RouteLinkUrl.RouteUrl

    当你使用它时,JavaScript Url.RouteUrl 会很有用

    var url = '@Url.RouteUrl("CodesRoute", new { id = "_id", manufacturerName = "_manufacturerName" })'
    

    【讨论】:

      【解决方案2】:

      你需要一条新路线:

      routes.MapRoute(
          name: null,
          url: "{controller}/{action}/{id}/{manufacturerName}",
          defaults: new { 
              controller = "Home", 
              action = "Index", 
              id = UrlParameter.Optional, 
              manufacturerName = UrlParameter.Optional 
          }
      );
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-21
        • 1970-01-01
        • 1970-01-01
        • 2020-10-15
        • 1970-01-01
        相关资源
        最近更新 更多