0

Javascript我在我的 asp.net mvc4 中使用 razor 应用程序有这个功能

function openbox2(formtitle, fadin) {
         var self = $(this);
         var arr = self.data('arr');
         @{
         Session["element"] = @:arr;

                             }
         var box = document.getElementById('box');
         document.getElementById('shadowing').style.display = 'block';

         var btitle = document.getElementById('boxtitle');
         btitle.innerHTML = formtitle;

         if (fadin) {
             gradient("box", 0);
             fadein("box");
         }
         else {
             box.style.display = 'block';
         }
     }

html部分代码

<td> 
         <a href="#" onClick="openbox2('Validation de concept technique', 1)" data-arr="@fa.Id_element">Donner votre avis</a>. 
        </td>

我的问题是,Session["element"] = @:arr即使我将其替换为Session["element"] = "@:arr".

我该如何解决这个问题?

4

1 回答 1

1

你不能。

可以在来自服务器端的 javascript 中设置值,但不能以其他方式进行。

您可以做的是使用此数组在页面加载时发送 ajax 请求,因此它将保存在Session服务器端的变量中。

就像是:

$(function(){
    $.post('/saveArray', {items:arr});
});

希望有帮助。

于 2013-10-23T17:47:28.800 回答