2013-10-30 30 views
0

在MVC項目我有一個任務:訪問ViewBag.Something使用JS

ViewBag.SomeOne = "one"; 
ViewBag.SomeTwo = "two"; 

在頁面上,我顯示第一直接:

<div id="one">@ViewBag.SomeOne</div> 

另外,是不是首先顯示。我被指示創建一個jQuery表達式,它將兩者結合起來,並在點擊可見的元素時創建一個DIV元素。所以我去了:

<script type="text/javascript"> 
    $(document).ready(function() { 
    $("#one").click(function() { 
     var toghether = ""; 
     $("#both").append(together); 
    } 
    } 
</script> 

現在的問題是,我不能找到一個很好的方式來訪問的ViewBag.One價值,並不能找到訪問的任何方式ViewBag.Two

我去騙這樣的:

$("#one").text(); 

我怎樣才能使它更好?我怎樣才能訪問其他?

回答

1

您可以使用JavaScript訪問ViewBag值:

var toghether = '@(ViewBag.SomeOne)' + ' @(ViewBag.SomeTwo)'; 

例如:

public ActionResult Index() 
{ 
    ViewBag.SomeOne = "one"; 
    ViewBag.SomeTwo = "two"; 
} 

View

@section JavaScript{ 
    <script type="text/javascript"> 
     $(document).ready(function() { 
     $("#one").click(function() { 
      var toghether = '@(ViewBag.SomeOne)' + ' @(ViewBag.SomeTwo)'; 
      $("#both").append(together); 
     } 
     } 
    </script> 
} 
+0

哦,這是不錯的。我總是把* script *標籤放在* section *之外。沒想到**這個**。 –

+0

這是因爲我在'_Layout'頁面中定義了部分,所以可以將代碼放在部分之外。 –