2012-03-31 6 views
2

Ich benutze Ajax Form, um Teilansicht auf der Seite zu rendern.
siehe unten CodeMVC - Ajax.BeginForm funktioniert nicht

<script type="text/javascript" src="<%: Url.Content("~/Scripts/jquery-1.7.1.min.js") %>"></script> 

<script type="text/javascript" src="<%: Url.Content("~/Scripts/jquery.unobtrusive-ajax.js") %>"></script> 
<script type="text/javascript" src="<%: Url.Content("~/Scripts/MicrosoftAjax.js") %>"></script> 
<script type="text/javascript" src="<%: Url.Content("~/Scripts/MicrosoftMvcAjax.js") %>"></script> 

<form id="aspnetForm" runat="server" style="height: 100%;"> 
<% using (Ajax.BeginForm("demo", "demo", new AjaxOptions { HttpMethod = "Post", UpdateTargetId = "divToUpdate" }, new { @ID = "AjaxForm" })) 
        { %> 

        <%= Html.DropDownList("Demo", list, new { @id = "id", @class = "dropdown" })%> 
        <% }%> 
        <input type="submit" value="Save" /> 
        <div id="divToUpdate"> 
         <% Html.RenderPartial("UserControls/DemoPage"); %> 
        </div> 

       <% }%></form> 

In dieser i schließen 4 js. Ich habe eine Seite mit Form-Tag und drinnen, dass ich eine Prtial-View-Seite habe. Wenn ich Dropdown-Liste auswähle und auf Speichern klicke, möchte ich Ajax-Post, aber ich fand, dass die ganze Seite neu geladen wird.

Irgendeine Idee dazu?

Dank

Antwort

4

Problem ist,

  1. Sie können nicht wie unten

Versuchen in html verschachtelt Form Tags haben,

<% using (Ajax.BeginForm("demo", "demo", new AjaxOptions { HttpMethod = "Post", UpdateTargetId = "divToUpdate" }, new { @ID = "AjaxForm" })) 
{ %> 
    <%= Html.DropDownList("Demo", list, new { @id = "id", @class = "dropdown" })%> 
    <input type="submit" value="Save" /> 
<% }%> 
<div id="divToUpdate"> 
    <% Html.RenderPartial("UserControls/DemoPage"); %> 
</div> 

Sie auch nach unten fallen ändern könnte Auto-Postback, dann würden Sie nicht brauchen, separate Senden Schaltfläche,

<%= Html.DropDownList("Demo", list, new { @id = "id", @class = "dropdown", @onchange = "$(this).closest('form').submit();" })%> 
+0

seine Arbeit .. Danke .. – Gate

Verwandte Themen