Puis-je transmettre la valeur viewbag à jQuery dans mvc2

Je dois transmettre la valeur à jQuery dans la vue à l’aide de viewbag. Ce que je veux réaliser est de transmettre la valeur NULL ou une valeur, puis jQuery devrait masquer ou afficher la div en fonction de la valeur transmise, par exemple, comme ci-dessous:

viewbag.testNumber = null; $('#showdiv').hide(); $('viewbag.testNumber').value == someinteger{ $("#showdiv").show(); else $("#showdiv").hide(); }); 
Some Calculation

Aussi, je veux désactiver le viewbag dans la vue si la valeur est null, car cela donne une erreur nulle

ViewBag est uniquement dans ASP.NET MVC 3, vous ne pouvez donc pas l’utiliser, mais vous pouvez utiliser ViewData:

  $('#showdiv').hide(); if ($("#" + '<%=ViewData["testNumber"]').value == someinteger){ $("#showdiv").show(); } else { $("#showdiv").hide(); } }); 
Some Calculation

Si vous utilisez MVC3 (Ne fonctionne pas avec 2), vous pouvez facilement utiliser ViewBag comme ci-dessous, mais souvenez-vous de deux points faciles à oublier et pouvant causer des maux de tête:

  1. Ne mettez jamais de point-virgule à la fin de @ ViewBag.myVariable
  2. Si vous passez une chaîne, mettez “avant et après votre @ ViewBag.myVariable. Par exemple:

C’est juste:

 $(function () { var path = "@ViewBag.helpPath" path = "@Url.Content("~/route/action/")" + path; $('#help-content').load(path); }); 

Cependant si vous utilisez:

 $(function () { var path = @ViewBag.helpPath path = "@Url.Content("~/route/action/")" + path; $('#help-content').load(path); }); 

MVC change ceci en:

 $(function () { var path = c:\\doc\\path path = "@Url.Content("~/route/action/")" + path; $('#help-content').load(path); }); 

Quel JavaScript ne peut pas l’parsingr, et le résultat serait un bogue laid. Juste quelque chose que j’ai fait et perdu mon temps a pensé à le partager.

dans razor, vous feriez simplement @ ViewBag.Variable_Name. Je le fais dans mon code.

Vous pouvez le faire dans votre vue:

 $('#showdiv').hide(); $('@Viewbag.testNumber').value == someinteger{ $("#showdiv").show(); else $("#showdiv").hide(); }); 
Some Calculation

Pour votre MVC2 JavaScript, écrivez simplement la variable, vous ne pouvez évidemment pas utiliser ViewBag pour:

 var testNumber = <%:ViewData["VariableName"]%>;