【发布时间】: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