我正在从JavaScript函数中以字符串的形式获取控制器名称,并且需要在Url.Action中传递控制器名称。任何建议都会有所帮助。
var controllerName = "MyController";
var id=1;
@Url.Action("LoadAction","'"+ controllerName +"'")?id=' + id
// Here i am unable to pass controllerName, defined using javascript.
谢谢。
答案 0 :(得分:0)
如果要将数据从js脚本发送到C#控制器,则可以使用Jquery-ajax调用代替@Url.Action
,如果我没记错的话,甚至不能使用@Url对js源代码执行的操作。
const sendId = () => {
const controllerName = 'MyController';
const id = 1;
$.ajax({
contentType: 'application/json',
data: { myId: id },
url: `${controllerName}/methodName`, //template string
type: 'POST',
success: function (data) {
//...
},
failed: function () {
//...
}
});
}