0

我有一个 MVC 网站。在一个页面中有一个下拉列表、一个详细信息视图和几个列表视图。

数据来自导入的 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>

索引页

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

我的问题是:如何通过选择 DropDownList 中的项目在 OnChange 事件之后重用 Html.Actions?

当下拉列表的项目发生更改时,我想更改视图数据。

我希望在网页上看到 DropDownList 下的详细信息。

国家:英格兰

城市:伦敦

网站:等

然后是成员和关系列表。

感谢你们对我的帮助

卫斯理

4

1 回答 1

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);
}
于 2012-07-19T15:35:26.680 回答