Я использую MVC 3 с ненавязчивым JavaScript для проверки клиента.
У меня есть таблица со строками, которые можно нажимать. При нажатии я хочу вызвать динамически загруженное частичное представление. Вот код для этого:
function GetStuff(id) {
$.ajax(
{
url: "Edit/" + id,
success: function (result) {
$("#DivTest").html(result);
}
});
}
Это далеко все работает.
Проблема в том, что когда я пытаюсь сохранить что-то частично, используя jquery. Форма угоняется, как это:
$(function () {
$.post($(this).attr("action"),
$(this).serialize(),
function (data) {
alert("test");
});
e.preventDefault();
});
Все это делает проверку клиента неработоспособной. Это просто делает сообщение, даже если я пропустил некоторые обязательные значения. Это все работает, если я не использую ajax для публикации или если частичное загружается при загрузке страницы (не динамически).
Что я пробовал:
Я пытался поставить это перед постом:
if($('form').validate().form()){
...
}
Это просто возвращает истину каждый раз, хотя ..
Из этого поста я получил 2 предложения
ASP.NET MVC 2 загрузка частичного представления с использованием jQuery - без проверки на стороне клиента
Добавление
Sys.Mvc.FormContext._Application_Load();
после того, как частичное было загружено ..
И установите тип данных поста "html". Ни один не работал.
Я тоже попробовал этот метод без удачи:
http://www.deepcode.co.uk/2010/08/mvc-ootb-validation-when-pulling-in.html
Я полагаю, что эта комбинация техник очень распространена, почему так сложно заставить ее работать? Любая помощь высоко ценится.
Спасибо