Code:Ajax.BeginForm UpdateTargetId nicht mit Dropdown arbeiten
<% using (Ajax.BeginForm("GetResourcesByProject", "CreateRequest", new AjaxOptions { UpdateTargetId = "ResourceListDiv"}))
{
Response.Write(Html.DropDownList("SelectProject", Model.ProjectList, "Select Project", new { onchange = "this.form.submit();" }));
} %>
Wenn ich die Seite laufen bekomme ich die Aktion richtig Controller mit den richtigen Daten in Form Sammlung auszulösen:
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);
}
Es funktioniert von einem Ajax.ActionLink wie diese fein:
<%= Ajax.ActionLink("Select", "GetResourcesByProject", "CreateRequest", new { projectId = item.Id }, new AjaxOptions { UpdateTargetId = "ResourceListDiv" })%>
Wenn die Post geschieht ich zu einer neuen Seite navigiert statt o f Bleiben Sie auf der bestehenden Seite und aktualisieren Sie den Inhalt der div.
Danke.
Die einreichen versteckte Taste funktioniert perfekt: \t \t \t <% mit (Ajax.BeginForm ("GetResourcesByProject", "erzeugeAnf", neue {Ajaxoptions UpdateTargetId = "ResourceListDiv"})) \t \t \t \t { \t \t \t \t \t Response.Write (Html.DropDownList ("SelectProject", Modell.ProjectList, "Select Project", neues {onchange = "document.getElementById ('projectSubmit'). Click();"})); \t \t \t \t \t%> \t \t \t \t \t \t \t \t \t \t <% \t \t \t \t}% > Ein bisschen hässlich und klumpig aber es funktioniert. Schade, dass die normale Form submit() nicht die Ajax-Form trifft. Danke für die Hilfe. – Tyler