根据javascript值获取资源字符串

时间:2013-10-02 19:36:18

标签: c# asp.net-mvc-4 razor

是否有可能完成这样的事情?

<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;
}

2 个答案:

答案 0 :(得分: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
}

答案 1 :(得分:1)

  • Ajax请求,或;
  • 在页面中加载必要的Resources键列表,然后通过JS访问它们。