2016-03-28 66 views
-3

我如何獲得VAL的值在這裏使用它的Lambda表達式 是正確的方式還是有另一種方式來得到它?MVC查看Javascript變量

{enter code here 

     function CallChangefunc(val) { 
      @ActiveSwimmerID = val; 
      @ActiveSwimmer = @Model.FirstOrDefault(x => x.SwimmerID == val); 

     }} 

回答

0

您無法使用Razor語法編寫JavaScript代碼。想想如何請求被MVC處理:

  • 客戶端向服務器發送一個請求
  • 服務器處理請求並使用剃刀
  • 呈現的頁面發送爲HTML到呈現頁面客戶;它不再包含任何剃刀語法!
  • 頁面在客戶端計算機上呈現;這是JavaScript代碼運行的地方

但是,您可以使用Razor生成JS對象,然後編寫JS代碼來處理它們。

<script type="text/javascript"> 
var allSwimmers = @Html.Raw(Json.Encode(Model.AllSwimmers)); // array of JS objects 
var currentSwimmer = undefined; 
$.each(allSwimmers, function(index, swimmer){ if (swimmer.Id == currentSwimmerId) { currentSwimmer = swimmer; return true; } }); 
+0

非常感謝......我之前已經離開了這個項目,但我認爲你的答案將有所幫助 –