2012-07-17 85 views
0

我有一個MVC網站。在頁面中有一個下拉列表,一個detailinfo-view和幾個列表視圖。如何在選擇項目後在DropDownList中使用OnChange事件

本數據來源於進口XML的文件等類

<?xml version="1.0" encoding="utf-8" ?> 
<Items> 
    <Item ID="1" Name="MVC" Country="Engeland" City="London" 
     Website="http://forums.asp.net" Genre="New" /> 
    .... 
</Items> 

Index.page

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 
    <script type="text/javascript"> 
     function OnChange(text) { 
      ... 
     } 
    </script> 

    <form id="form1" runat="server"> 
     <br /> 
     <label>Select Name</label> 
     <br /> 
     <%= Html.DropDownListFor(a => a.SelectedItem, 
       new SelectList(Model.Artists, "Value", "Text"), 
       new { onchange = "OnChange(this.Value);" })%> 
     <br /> 
     <br /> 
     <%= Html.Action("DetailInfo") %><br /> 
     <br /> 
     <%= Html.Action("MemberList") %> <br /> 
     <br /> 
     <%= Html.Action("RelationsList") %><br /> 
     <br /> 
    </form> 
</asp:Content> 

我的問題是:我如何可以通過選擇重用Html.Actions的OnChange事件後DropDownList中的項目?

我想在下拉列表項目發生變化時更改視圖數據。

我希望能在網頁上看到DropDownList下的詳細信息。

國家:英格蘭

城市:倫敦

網站:等

然後會員和關係的列表。

謝謝你幫我

韋斯利

+0

我的級聯DDL博客正是這樣做的。看我的DDL教程http://www.asp.net/mvc/tutorials/javascript/working-with-the-dropdownlist-box-and-jquery/using-the-dropdownlist-helper-with-aspnet-mvc和http: //blogs.msdn.com/b/rickandy/archive/2012/01/09/cascasding-dropdownlist-in-asp-net-mvc.aspx – RickAndMSFT 2012-07-17 16:18:02

回答

0

所以你的意思是我放置onchange事件在我的控制器

<script type="text/javascript"> 
    $(document).ready(function() { 
      var AID = 810000; 
      function OnChange(action, value) { 
       $.load(action, {AID: value}); 
     } 
    }); 
    </script> 

而且在做的Index.aspx我寫:

<%using (Ajax.BeginForm("OnChange", "MainController", 
      new AjaxOptions { HttpMethod = "Post" })) 
     {%> 
     <%= Html.DropDownListFor(a => a.SelectedID, 
       new SelectList(Model.Artiesten, "Value", "Text"), 
     new 
     { 
      onchange = @" 
      var form = document.forms[0]; 
      form.action='OnChange(../Controllers/MainController/OnChange, Value)' ; 
      form.submit();" 
     })%> 
    <%} %> <br /> 

...並且在MainController中有一個方法

[HttpPost] 
protected void OnChange(int? AID) 
{ 
    int iID = AID ?? 810000; 

    DetailInfo (AID); 
    MemberList(AID); 
    RelationsList(AID); 
}