2013-10-23 83 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}); 
}); 

希望幫助。