c# - Url.Action("Grid", "List", new { id = "Organisation"}) 是否有理由返回 /List/Index/Organisation 而不是 /List/Grid?id=Organisation
问题描述
我在视图中使用 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);
}
它是用于从数据库中检索信息并填充网格的调用的一部分。此代码用于其他项目,但由于某种原因,在这个新项目上它给出了问题
解决方案
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,他为我指明了正确的方向。
推荐阅读
- python - Python Encryption - 如果我加密相同的消息,我如何获得相同的加密值
- php - 读取xml内容并用php添加一些数字
- angular - 绑定数据数组以形成角度数组
- java - java.io.FileNotFoundException:打开失败:上传 csv 时 EACCES(权限被拒绝)
- javascript - 如何使用 useEffect 更好地设置 fetch?
- javascript - 反应流渲染器缩放
- c - ncurses中具有透明度的重叠窗口
- windows - 汇编程序中printf函数的使用
- java - 在 android studio 中,StringRequest 可以连接到互联网,但不能连接到具有 IP 地址的本地主机?
- r - 将 rdrobust 库中的 rdplot 转换为 ggplot