在Url.Action中使用Javascript中的控制器名称

时间:2019-07-24 15:52:44

标签: javascript asp.net-mvc

我正在从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.

谢谢。

1 个答案:

答案 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 () {
            //...
          }
     });
  }