2012-03-24 4 views
1

У меня есть создать веб-приложение в MVS 3 , но не отображать предупреждающее сообщение после того, как данные вставки в базу данныхКак отобразить предупреждающее сообщение после вставки данных в базу данных?

Controller код:

[HttpPost] 
     public ActionResult QuestionBank(QuestionBank questionbank) 
     { 
      if (ModelState.IsValid) 
      { 
       dbEntities.QuestionBanks.AddObject(questionbank); 
       dbEntities.SaveChanges(); 
       //questionbank.SendEnquiryEmail(questionbank); 
       ViewData["Message"] = "Data inserted"; 
       return RedirectToAction("QuestionBank"); 

      } 
      return View(questionbank); 
     } 

Б ViewData [ "Message"] = "вставить данные"; которая не отображается сообщение :( , что происходит не так или я поместил его где-нибудь еще? ИЛИ ЕЩЕ МОГУ этот код

<script type="text/javascript"> 
    //i'm using jquery ready event which will call the javascript chunk after the page has completed loading 
    $(document).ready(function() { 
     //assuming that your variable name from the code behind is bInsertSuccess 
     var bSuccess = "<%= myvar %>"; 
     if (bSuccess) { 
      alert("Successfully Inserted"); 
     } 
    }); 
</script> 

, но я не знаю, где я заявляю, что переменная myvar которая проверяет вставки плз помочь

+1

Как вы используете ViewData на ваш взгляд? – nightshifted

+0

Нет, пожалуйста, продемонстрируйте – Neo

+0

Я не думаю, что вы понимаете, что действительно делает ViewData. ViewData - это просто «хранилище» для пар ключ/значение, которое может использоваться для «переноса» данных между контроллером и представлением. Поэтому, по вашему мнению, вы должны вызвать ViewData ["Message"]. Если вы хотите получить предупреждающее сообщение, вам действительно нужно будет его закодировать. – nightshifted

ответ

2

На вашей странице .chsthml:

<script type="text/javascript"> 
    $(document).ready(function() { 
     var msg = '@ViewBag.Message'; 

     alert(msg); 
    }); 
</script> 

в вашем действии:

ViewBag.Message = "1"; 

Edit: Применить проверку условий в сценарии:

<script type="text/javascript"> 
    $(document).ready(function() { 

     var msg = '@ViewData["Message"]'; 
     if(msg=='1') 
     alert("you are done with your thing"); 
    }); 
</script> 

Ввиду:

ViewData["Message"] = "1"; 

ViewData["Message"] результат будет таким же.

+0

SOLVED :) THX much – Neo

1

Попробуйте пользователю

TempData 

вместо

ViewData 
+0

не работает для меня :( – Neo