Почему вы используете ViewBag? Я полагаю, что в своем действии контроллера вы вручную сериализовали какую-то модель в JSON, не так ли? Примерно так:
public ActionResult Foo()
{
var model = ...
ViewBag.JsonResultData = new JavaScriptSerializer().Serialize(model);
return View(model);
}
Я бы не рекомендовал вам это делать. Вместо этого сделайте это:
public ActionResult Foo()
{
var model = ...
return View(model);
}
и по вашему мнению:
<script type="text/javascript">
var jsonResultData = @Html.Raw(Json.Encode(Model));
</script>
Что касается предупреждения, то, конечно, Razor Intellisense далеко не идеален. Вы действительно можете получить некоторые предупреждения, особенно когда вы смешиваете бритву с JavaScript. Мы можем только надеяться, что они исправят это в будущих версиях ASP.NET MVC. На данный момент игнорируйте эти предупреждения. Честно говоря, когда я работаю с представлением, я больше не смотрю на предупреждения или ошибки в Visual Studio, поскольку заранее знаю, что они содержат ошибки, и мое приложение прекрасно работает при запуске.