2016-04-12 7 views
2

Aşağıdaki giriş alanı var.mvc içinde jquery içinde ViewBag için bir değer vermek, C#

<input class="book_now_modal BClick" type="text" id="destinationFrom_modal" name="destinationFrom_modal" placeholder="@ViewBag.AmritsarList[0].Destination"> 

ben iç görünüm değerini değiştirmek istediğiniz zaman zaman item.I aşağıda jquery ile çalıştık viewbag dinamik değeri vermek için bir yol var bag.is.

$(".AClick").click(function() { 
      //$(".BClick").attr("placeholder"," "); 
      var s = parseInt($(this).attr('id')); 
      var neededVAl = "@@ViewBag.AmritsarList"+"["+s+"]"+".Destination"; 
      alert(neededVAl); 
      var b = $(".BClick"); 
      $(this).attr("placeholder",neededVAl); 
     }); 

böyle ben @ViewBag.AmritsarList[1].Destination veren bir uyarı olarak placeholder yerini ama ben bunu yapabilir placeholder.how değişmedi.

cevap

2
var neededVAl = "@@ViewBag.AmritsarList"+"["+s+"]"+".Destination"; 

Sen erişilebilir sunucu tarafında buna beri açıklamada yukarıdaki kullanarak ViewBag erişemez. JavaScript ifadeniz istemci tarafında yürütülür ve doğrudan erişemez.

Ancak, Sen Json.Encode Yöntem JavaScript Object Notation (JSON) formatında bir dizeye bir veri nesnesi dönüştürür kullanabilirsiniz.

var jsObject = @Html.Raw(Json.Encode(ViewBag.AmritsarList));  
$(".AClick").click(function() {   
    var s = parseInt($(this).attr('id')); 
    var neededVAl = jsObject[s].Destination; 
    alert(neededVAl); 
    $(this).attr("placeholder",neededVAl); 
});