2016-07-15 31 views
-2
var code = $('#hastane').val(); 

var url = '@Url.Action("HataIstatistikleriExcel", "Reports", new 
{ 
    baslangicDonem = Model.BaslangicDonem, 
    bitisDonem = Model.BitisDonem, 
    hospitalCode = code 
})'; 
window.open(url); 

我不能代碼變量傳遞給Url.Action ......「這表明無法解析代碼」傳遞一個JavaScript變量C#代碼<script>部分

+1

請張貼語法,正確的代碼。以上是最好的縮減。 –

+0

您忘記之前window.open(URL)的「}」符號 –

+0

@AlexandruMihai:最起碼的,但我認爲有,而更多的失蹤存在。 –

回答

-2

您不能直接訪問的JavaScript服務器端變量。首先,您必須將其值分配給隱藏字段,然後從JavaScript中的該隱藏字段獲取值。在MVC添加一個佔位符來解決這個問題

+0

除了隱藏字段,還有很多更好的選項。但它與這個問題無關,這是以另一種方式*。 –

1

最快的方式建立的網址,然後動態地替換該值,使用JavaScript而被觸發點擊事件,如下圖所示。

$("#expHastaneAna").click(function() { 

     var code = 'dynamicCode'; 

     var url = '@Url.Action("HataIstatistikleriExcel", "Reports", new 
     { 
      baslangicDonem = Model.BaslangicDonem, 
      bitisDonem = Model.BitisDonem, 
      hospitalCode = "{0}" 
     })'; 

     url = decodeURI(url); 
     url = url.replace("{0}", code); 
     url = decodeURI(url); 
     console.log(url); 
    }); 
+0

非常感謝。此代碼正常工作。 :) – Faruk