2013-10-23 81 views
0

我有这个Javascript功能在我的asp.net mvc4剃刀应用里面调用C#代码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

是你的js函数的cshtml文件或外部JavaScript文件? – iamkrillin

+0

需要使用ajax或套接字来做到这一点。 –

+4

你想通过JavaScript设置一个会话变量吗?那根本就行不通 –

回答

1

你只是不能。

可以在JavaScript中设置值来自你的服务器端,但你不能以其他方式做到这一点。

你可以做的是在页面加载时发送一个ajax请求,所以它将被保存在服务器端的Session变量中。

类似:

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

希望帮助。