在c#代码中调用javascript变量

时间:2013-10-23 16:44:05

标签: javascript jquery asp.net asp.net-mvc-4 razor

我的asp.net mvc4中有razor应用程序

Javascript函数
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"也无效。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

你不能。

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

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

类似的东西:

$(function(){
    $.post('/saveArray', {items:arr});
});
希望有所帮助。