2009-10-24 25 views
3

我有這樣的的HomeControllerAsp.Net Axaj.BeginForm&UpdateTargetId不工作

<div> 
     <% using (Ajax.BeginForm("Details", new AjaxOptions 
      { 
       UpdateTargetId = "customerDetails", 
       InsertionMode = InsertionMode.Replace, 
       HttpMethod = "POST" 
      })) 
      { %> 
     <p> 
      Customer: 
      <%=Html.DropDownList("id")%></p> 
     <p> 
      <input type="submit" value="Details" /></p> 
     <% } %> 
    </div> 
    <div id="customerDetails"> 
</div> 
爲CustomerDetails

最後。 ascx我有:

<fieldset> 
     <legend>Fields</legend> 
     <p> 
      Name: 
      <%= Html.Encode(Model.Name) %> 
     </p> 
     <p> 
      Credit: 
      <%= Html.Encode(Model.Credit) %> 
     </p> 
     <p> 
      CustomerID: 
      <%= Html.Encode(Model.CustomerID) %> 
     </p> 
    </fieldset> 
    <p> 
     <%=Html.ActionLink("Edit", "Edit", new { /* id=Model.PrimaryKey */ }) %> | 
     <%=Html.ActionLink("Back to List", "Index") %> 
    </p> 

CustomerDetails.ascx是通過右鍵單擊Details-method並選擇「添加視圖」並選擇部分視圖和強類型視圖生成的。

我想要這個更新客戶的詳細信息在「Ajax方式」內的一個稱爲「customerDetails」內的Index.html。問題在於,按下「詳細信息」按鈕後,會打開一個新頁面,其中顯示正確的詳細信息。輸出頁面沒有母版頁面顏色或佈局。

如果我使用Details-method進行調試,則客戶對象的內容是正確的。

任何幫助表示讚賞!

/POM

回答

4

最有可能的罪魁禍首是,你是不是包括在頁面上MicrosoftAjax.js和MicrosoftMvcAjax.js。這會導致javascript失敗,因爲它無法找到必要的功能,並且通過Ajax正常提交表單。

+3

值得注意的是,這不再是ASP.NET MVC 3的情況http://stackoverflow.com/questions/8782697/are-microsoftajax-js-microsoftmvcajax-js-and-microsoftmvcvalidation-js-obsolete – 2012-12-14 22:01:08