Web Config:MVC Ajax.BeginForm InsertionMode
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
JavaScript ссылаются файлы:
<script src="@Url.Content("~/Scripts/jquery-1.7.2.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js") type="text/javascript"></script>
CSHTML страница:
@using (Ajax.BeginForm(new AjaxOptions { UpdateTargetId = "result", LoadingElementId = "progress", InsertionMode = InsertionMode.Replace }))
{
<div class="form">
<div class="emailBox">
<input id="email" name="email">
<input type="submit" value="Join Us">
</div>
<div id="result">
</div>
<div id="progress" style="display:none;">
<img src= "@Url.Content("~/Content/images/Ajax-loader-bar.gif") ">
</div>
</div>
}
Controller.cs:
[HttpPost]
public string Index(SignUpModel model)
{
return "Hello";
}
В чем причина, когда я нажимаю кнопку SUBMIT, вся страница заменяется белой страницей, на которой написано «привет». У меня создалось впечатление, что Ajax.BeginForm заменит содержимое DIV RESULT.
Что я делаю неправильно?
Кроме того, LoadElementID
Будет ли он скрываться автоматически, когда вызов AJAX вернет его значение?
=========================
ОТВЕТ
Firebug показал, что один из файлов ссылочной JS не был найден.
После того, как я исправил это, все работало, как ожидалось.
Спасибо, ребята
У меня есть Jquery и Jquery.unobtrusive-ajax. Где я могу найти файл Jquery.unobstrusive? –
Обновлен Вопрос о том, какие файлы у меня есть. Где я могу найти недостающий файл? –
Извините, я смешивал файл jquery-unobtrusive-validation. Но здесь это не требуется. –