У меня проблема с формами ASP.NET MVC Ajax. Я генерирую несколько Ajax-форм в таблице, например:
<%
foreach (var item in Model)
{
var statefulItem = item as StatefulEffectiveItem; %>
<tr>
<td>
<% using (Ajax.BeginForm("ShowAddActivity", "EffectiveItems", new { id = item.Id }, new AjaxOptions() { UpdateTargetId = "details", OnSuccess = "dialogIt" }))
{ %>
<input type="submit" name="activity" value="Add Activity" />
<% } %>
</td>
</tr>
<% } %>
пока все хорошо. Когда я публикую одну из этих форм, она отображает частичное представление в div, и это новое частичное представление содержит новый Ajax.BeginForm (который НЕ вложен в форму отправителя). Этот второй Ajax.BeginForm абсолютно аналогичен тем, которые я генерирую в таблице, но когда я публикую его, я получаю не «сообщение Ajax», а обычное сообщение, которое отправляет меня на новую страницу. Я не понимаю, в чем причина различия между этими двумя Ajax-формами, почему эта «динамически генерируемая» Ajax-форма ведет себя как нормальная HTML-форма?
Кстати, я знаю, что могу сделать это по-разному, используя Javascript, но я хотел бы понять, можно ли это сделать, просто используя помощников MVC и Ajax Library, и, если ответ «да», где я неправильно.
Большое спасибо,
Wasp