2012-03-31 8 views
2

私はAjaxフォームを使用してページ内の部分的な表示を行っています。
iが4つのJSを含むコードこれでMVC - Ajax.BeginFormが機能しません

<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> 

下記参照します。私はフォームタグを持つページを持っていると私はprtialビューページを持っています。ドロップダウンリストを選択して保存ボタンをクリックすると、Ajax投稿が表示されますが、ページ全体がリロードされています。

これについてのアイデアはありますか?あなたはまたにドロップダウン変えることができる

<% 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> 

答えて

4

問題がある

おかげで、HTML

次のように試してみてくださいで

  1. あなたがネストされていることができないフォームタグ、自動ポストバック、次に別の送信ボタンは必要ありません。

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

その作業..ありがとう.. – Gate

関連する問題