2014-11-24 9 views
0

Как form.Submit() будет отправляться целиком в mvc. Если я хочу показать успех или неудачу, отправьте, как показывать. Я не хочу, чтобы сохранить статус успеха в данных временных и передать его получить метод формыПоказать сообщение об успешном завершении или ошибке на form.submit()

Контроллер:

[HttpGet] 
public void TestAction() 
{ 
    return View() 
} 

[HttpPost] 
public void TestAction(someData) 
{ 
    // Store data to DB 
    return View() 
} 

Script : 

$("#btnSave").click(function(){ 
form.Submit(); 
}); 
+2

вместо представившего использовать форму 'события. preventDefault() 'и сделать ajax-вызов и отправить данные формы через' form.serialize() ', а затем отправить значение токена json из action-теста httppost, независимо от того, сохранены ли данные или нет, и показать это значение токена в alert(). –

+0

Если вы используете ajax для отправки, нет смысла возвращать представление. Просто верните Json, содержащий сообщение, и обновите DOM, чтобы отобразить его, в противном случае добавьте сообщение в свойство «ViewBag» и отобразите его в представлении. –

+0

Ребята, я не хочу использовать Ajax –

ответ

0

вы можете попробовать это http://jameschambers.com/2014/06/day-14-bootstrap-alerts-and-mvc-framework-tempdata/

[HttpPost] 
public ActionResult Create(Person person) 
{ 
    if (ModelState.IsValid) 
    { 
     _people.Add(person); 
     Success(string.Format("<b>{0}</b> was successfully added to the database.", person.FirstName), true); 
     return RedirectToAction("Index"); 
    } 
    Danger("Looks like something went wrong. Please check your form."); 
    return View(person); 
} 
+0

AddAlert использует TempData, как я уже упоминал, t хотите использовать TempData –

Смежные вопросы