2013-09-04 2 views
0

Я работаю над приложением MVC, и мне нужно проверить значение ViewBag на странице cshtml, как я могу это сделать?Как проверить свойство ViewBag на странице cshtml?

на Controller.cs:

Viewbag.Mode= "EDIT"; 

мне нужно проверить значение из Viewbag.Mode если EDIT показать предупреждение, как EDIT

Я пишу этот условный код в JavaScript, что синтаксис проверить свойство Viewbag в cshtml?

ответ

1

Вы не получите прямой доступ к C# переменных в JavaScript, как один на стороне сервера, другой стороне клиента. Вам нужно написать значение ViewBag для вывода HTML и затем опросить DOM, чтобы найти его с помощью javascript. Что-то вроде этого:

В вашем CSHTML:

@Html.Hidden("Mode", (string)ViewBag.Mode, new { id = "mode" }) 

В JQuery:

if ($('#mode').val() == "EDIT") { 
    // do something... 
} 

Вы также можете обернуть код JS непосредственно в заявлении на C# if (ViewBag.Mode == "EDIT") в вашей точки зрения, однако это и уродливое, а не хорошее разделение проблем.

+0

отлично работает для меня :) спасибо – Neo

+0

Без проблем, рад помочь. –

1

это просто .. просто использовать синтаксис @Razor в ViewPage

@if(ViewBag.Mode=="Edit") 
{ 
//here you show the alert thing 
} 
Смежные вопросы