Я довольно новичок во всем этом.
Я использую ASP.NET MVC C # LINQ to SQL .
У меня есть страница редактирования, которая загружает авторов и все их книги.
Книги загружаются с помощью Ajax вызова.
<script type="text/javascript">
$(document).ready(function() {
LoadBooks();
});
function LoadBooks() {
$(".Books").hide();
$(".Books").load("/Books/Edit/<%= Model.AuthorID %>");
$(".Books").show('slow');
}
</script>
Эта часть работает нормально. Страница загружается с информацией об авторе, затем загружается книга (частичное представление в DIV id = "Книги", просто с категорией книги и названием книги):
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Solution.Controllers.BooksController+BooksViewModel>" %>
<% using (Html.BeginForm(null,null, FormMethod.Post,new { id = "bookform" }))
{%>
<fieldset>
<legend>Books</legend>
<%int i = 0;
foreach (var book in Model.Books)
{%>
<%= book.BookID%>
<%= Html.Hidden("book[" + i + "].BookID", book.BookID) %>
<%= Html.DropDownList("book[" + i + "].CatID", new SelectList(Model.Categories, "CatID", "CatTitle", book.CatID))%>
<%= Html.ValidationMessage("CatID", "*")%>
<%= Html.TextBox("book[" + i + "].BookTitle", book.BookTitle)%>
<%= Html.ValidationMessage("BookTitle", "*")%>
<br />
<%i++;
} %>
</fieldset>
<% } %>
Теперь на главной странице просмотра я хочу разместить ссылку.
Когда ссылка нажата, я хочу сделать несколько вещей через JavaScript / jQuery / Ajax / что угодно.
Первым делом я хочу отправить форму Книги (id = booksform) из частичного представления, а затем перейти к следующей функции jQuery . Итак, я нажимаю на ссылку, которая вызывает функцию JavaScript. Эта функция должна вызывать / делать / выполнять отправку формы Книги.
Мне кажется, что я все перепробовал, но не могу отправить и обработать форму «Книги» без отправки / обновления полной страницы. (Обратите внимание, что когда происходит полная отправка, ожидаемые в контроллере действия успешно выполняются). Я хочу, чтобы процесс / действие контроллера не возвращал ничего, кроме какой-либо индикации успеха / неудачи. (Затем я могу снова вызвать «LoadBooks ();», чтобы обновить DIV на странице.
Есть идеи?