Código:Ajax.BeginForm UpdateTargetId no funciona con DropDownList
<% using (Ajax.BeginForm("GetResourcesByProject", "CreateRequest", new AjaxOptions { UpdateTargetId = "ResourceListDiv"}))
{
Response.Write(Html.DropDownList("SelectProject", Model.ProjectList, "Select Project", new { onchange = "this.form.submit();" }));
} %>
Cuando ejecuto la página consigo la acción del controlador correcta para disparar con los datos correctos de la colección formulario:
public ActionResult GetResourcesByProject(FormCollection formCollection)
{
var resourceModels = (from project in POTSModel.ProjectList
where project.Id == Convert.ToInt32(formCollection["SelectProject"])
select project).First().Resources;
return PartialView("ResourceList", resourceModels);
}
funciona bien desde un Ajax.ActionLink así:
<%= Ajax.ActionLink("Select", "GetResourcesByProject", "CreateRequest", new { projectId = item.Id }, new AjaxOptions { UpdateTargetId = "ResourceListDiv" })%>
Cuando el puesto sucede que estoy navegado a una nueva página en lugar o Permanecer en la página existente y actualizar los contenidos del div.
Gracias.
El botón de envío oculta funciona perfectamente: \t \t \t <% usando (Ajax.BeginForm ("GetResourcesByProject", "createRequest", nuevos AjaxOptions {UpdateTargetId = "ResourceListDiv"})) \t \t \t \t { \t \t \t \t \t Response.Write (Html.DropDownList ("SelectProject", Model.ProjectList, "Seleccionar proyecto", nuevo {onchange = "document.getElementById ('projectSubmit'). Click();"})); \t \t tipo \t \t \t%> \t \t \t \t \t \t \t \t \t \t <% \t \t \t \t}% > Un poco feo y anticuado, pero funciona. Lamentablemente, la forma normal.submit() no golpea la forma ajax. Gracias por la ayuda. – Tyler