0

有可能完成这样的事情吗?

<script type="text/javascript">
function getValues( keysArray ) {
    var valuesArray = new Array(keysArray.length);
    for (var i = 0; i < keysArray.length; i++) {
        valuesArray[i] = @this.LocalResources(keysArray[i]);
    }
    return valuesArray;
}
4

2 回答 2

2

getValues函数将在浏览器上执行。Razor 将在页面发送到浏览器之前执行。那里是行不通的。

如果您想LocalResources在服务器上调用该方法,您可以公开控制器操作并执行来自客户端的 ajax 请求。

在浏览器上可能是这样的:

Javascript

 function getValues( keysArray ) {
 $.ajax({
   url: "/Controller/getValues",
   type: "POST",
   dataType: "json",
   contentType: "application/json; charset=utf-8",
   async: true,
   data: JSON.stringify({ "keysArray" : keysArray }),
   success: function (result) {
       //result obj is your array of resources
 }

});

MVC 控制器

public JSONResult getValues(object keysArray)
{
    ///Build respurce array here
}
于 2013-10-02T19:50:17.177 回答
1
  • Ajax 请求,或者;
  • 在页面中加载必要的资源键列表,然后通过 JS 访问它们。
于 2013-10-02T19:48:23.717 回答