osobiście bym iść z AJAX.
Jeśli nie można przełączyć się @Ajax...
pomocników, proponuję dodać kilka właściwości w modelu
public bool TriggerOnLoad { get; set; }
public string TriggerOnLoadMessage { get; set: }
Zmień swój pogląd na silnie typami modelu poprzez
@using MyModel
przed zwróceniem Zobacz, w przypadku pomyślnego utworzenia, wykonaj czynności podobne do:
MyModel model = new MyModel();
model.TriggerOnLoad = true;
model.TriggerOnLoadMessage = "Object successfully created!";
return View ("Add", model);
następnie w widoku, dodaj
@{
if (model.TriggerOnLoad) {
<text>
<script type="text/javascript">
alert('@Model.TriggerOnLoadMessage');
</script>
</text>
}
}
Oczywiście wewnątrz znacznika można zdecydować się robić wszystko co chcesz, wydarzenie zadeklarować jQuery gotową funkcję:
$(document).ready(function() {
alert('@Model.TriggerOnLoadMessage');
});
Proszę pamiętać, aby przywrócić właściwości modelu po udanej emisji alertu.
Kolejną miłą rzeczą MVC jest to, że rzeczywiście można zdefiniować EditorTemplate za to wszystko, a następnie używać go w widoku poprzez:
@Html.EditorFor (m => m.TriggerOnLoadMessage)
Jednak w przypadku, gdy chcesz zbudować coś takiego, może lepiej zdefiniować własną klasę C#:
class ClientMessageNotification {
public bool TriggerOnLoad { get; set; }
public string TriggerOnLoadMessage { get; set: }
}
i dodać właściwość ClientMessageNotification
w modelu. Następnie napisz EditorTemplate/DisplayTemplate dla klasy ClientMessageNotification
i gotowe. Ładne, czyste i wielokrotnego użytku.
, jak to zrobić ...? Iam przy użyciu Entity Model..this jest mój kodu public ActionResult Create() { spróbuj { return View(); } catch (Exception ex) { return LogException (ex); } } – user581007
[HttpPost] ActionResult publiczny Tworzenie (kolekcja FormCollection) { spróbować { var objmsg = new Models.motds(); tblMessage msg = new tblMessage(); msg.CreatedDate = System.DateTime.Now; msg.ModifiedDate = System.DateTime.Now; // domyślny identyfikator CreatedDate UpdateModel (msg); objmsg.AddMessage (msg); return RedirectToAction ("Index"); } } catch (Exception ex) { } } – user581007
Spróbuj dodać 'return new JavascriptResult {Script =" alert ("Pomyślnie zarejestrowany"); " }; 'w miejsce' return RedirectToAction ("Index"); ' – ipr101