Olá,
Tenho uma tabela onde cada linha é criada a partir de um Ajax.BeginForm() que traz os dados a partir de um controller. Cada linha contém um input 'submit' para resgatar as alterações feitas pelo usuário e enviá-la
para o controller inserir a atualização no bd.
Quando eu clico em qualquer botão, de qualquer linha, o retorno é sempre o mesmo. Acredito que esteja problemas com o POST múltiplo.
Poderiam me indicar alguma forma de receber os valores do Ajax.BeginForm por meio do input submit nele existente??
- View que exibe o trecho abaixo dentro de uma tabela.
foreach (var item in Model)
{
var div1 = new HtmlString("<div id= divEditUsuario" + item.Id + ">");
@div1
using (Ajax.BeginForm("_exibeDados", "Usuario",
new AjaxOptions
{
UpdateTargetId = "divEditUsuario" + item.Id,
InsertionMode = System.Web.Mvc.Ajax.InsertionMode.InsertAfter,
HttpMethod = "Post",
OnSuccess = "alert('teste')"
}, new { id = "ajaxEditUsuario" + item.Id}))
{
Html.RenderAction("_exibeDados", "Usuario", item);
}
}
- PartialView com o <tr> e o conteúdo da linha:
<tr>
@Html.HiddenFor(model => model.Id)
<td>
<div class="editor-field" >
@Html.DropDownList("UsuarioId", String.Empty)
@Html.ValidationMessageFor(model => model.UsuarioId)
</div>
</td>
@* Demais campos... *@
<td>
<p>
<input type="submit" value="Salvar" />
</p>
</td>
</tr>