【问题标题】:Is there a reason Url.Action("Grid", "List", new { id = "Organisation"}) would return /List/Index/Organisation instead of /List/Grid?id=OrganisationUrl.Action("Grid", "List", new { id = "Organisation"}) 是否有理由返回 /List/Index/Organisation 而不是 /List/Grid?id=Organisation
【发布时间】:2019-06-04 08:52:03
【问题描述】:

我在视图中使用 Razor,需要生成一个 Url,但它返回 /List/Grid/Organisation 而不是 /List/Grid?id=organisation

var id = Model.EntityName.ToLower();
Url.Action("Index", "List", new { id = id})

我期待List/Index?id=organisation 被退回,但我却得到List/Index/Organisation。我不确定是版本问题,还是因为我对 Razor/C# 还很陌生,所以我遗漏了一些东西。

编辑:

$.get('@Url.Action("Grid", "List", new { id = id})&key=@key&pageNumber=' 
+ pageNo + '&pageSize=' + pageSize 
+ '&searchName=@Model.UniqueID' 
+ query, function (data) 
{
 $("#@Model.UniqueID").tablegrid('loadData', data);
});

还有控制器

public override JsonResult Grid(string id, string key, string searchName, string searchText, string activeTabs, string pages, string filters, string query, string orderBys, string options, string context, int pageSize = 10, int pageNumber = 1)
        {
            return base.Grid(id, key, searchName, searchText, activeTabs, pages, filters, query, orderBys, options, context, pageSize, pageNumber);
        }

它是用于从数据库中检索信息并填充网格的调用的一部分。此代码用于其他项目,但出于某种原因,在这个新项目中它给出了问题

【问题讨论】:

  • 你如何在控制器中定义它?
  • 您已将{id} 定义为路由的一部分。因此它表现为一。如果你想要?id=(你为什么想要那个?),请从路由定义中删除{id} 部分。
  • 请向我们展示您的所有路线定义。
  • @mjwills 抱歉,我不确定你想让我展示什么。正如我所说,我对 c#/MVC 很陌生,你指的是 SettingsProvider 吗?

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


【解决方案1】:
 routes.MapRoute(
                name: "List",
                url: "list/{id}/{action}",
                defaults: new {controller = "List", action = "Index", id = UrlParameter.Optional}
                );

本来就是

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

感谢@mjwills 为我指明了正确的方向。

【讨论】:

    猜你喜欢
    • 2011-06-30
    • 2013-10-28
    • 1970-01-01
    • 2022-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-24
    • 2019-01-20
    相关资源
    最近更新 更多