我尝试使用HTTP上下文razor方法来映射javascript代码块中的服务器路径。然而,它导致"非法字符"的异常。我不确定要包含哪些字符,所以剃刀将其视为c#。
$(document).ready(function () {
$('#StudentTableContainer').jtable({
title: 'Asset Classes',
paging: true,
sorting: true,
pageSize: 25,
defaultSorting: 'Name ASC',
actions: {
listAction: '@(HttpContext.Current.Server.MapPath("GetAssetData?prod=funds"))'
}
});
});
答案 0 :(得分:2)
Javascript中的剃刀语法没有问题,您在querystring
中发送了server.mappath
这是错误的: -
它应该是这样的:
actions: {
listAction: '@(HttpContext.Current.Server.MapPath("~/GetAssetData"))'
}
而不是
actions: {
listAction: '@(HttpContext.Current.Server.MapPath("~/GetAssetData?prod=funds"))'
}
这就是"illegal characters"
错误即将发生的原因。
就我理解你的问题而言,我认为你想在listAction
中给出一个动作的路径然后这样做:
actions: {
listAction: '@(Url.Action("action name","controller name",new { prod="funds" }))'
}