1

DropDownList の選択を変更すると、GET 要求を介して PartialView が更新されます。jQuery html() 関数を介して PartialView を更新すると、返される html は正しいのですが、ブラウザーに表示されると正しくありません。たとえば、PartialView 内の特定のチェックボックスを有効にする必要がありますが、返された html で有効にする必要があると表示されていても無効のままです。ブラウザでソースを表示すると、html が更新されません。

私は少し困惑しています。考え?

検索.aspx

<%@ Page Title="" Language="VB" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    Search
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

    <script type="text/javascript">
        $(document).ready(function () {
            $("#Sections").change(function () {

                var section = $("#Sections").val();
                var township = $("#Townships").val();
                var range = $("#Ranges").val();

                $.get("Search/Search?section=" + section + "&township=" + township + "&range=" + range,
                function (response) {
                    $("#cornerDiv").html(response)
                });
            });

        });
    </script>

    <h2>Search</h2>

    <%--The line below is a workaround for a VB / ASPX designer bug--%>
    <%=""%>
    <% Using Ajax.BeginForm("Search", New AjaxOptions With {.UpdateTargetId = "searchResults", .LoadingElementId = "loader"})%>        
        Township <%= Html.DropDownList("Townships")%>
        Range <%= Html.DropDownList("Ranges")%>
        Section <%= Html.DropDownList("Sections")%>

        <div id="cornerDiv">
            <% Html.RenderPartial("Corners")%>
        </div>

        <input type="submit" value="Search" />        
        <span id="loader">Searching...</span>
    <% End Using%>
    <div id="searchResults"></div> 

</asp:Content>
4

1 に答える 1

2

気にしないで、私はそれを理解しました。コントロールのプロパティを正しく使用していませんでした。つまり、マークアップが変更されていないという幻想を与えていました。

于 2010-03-25T21:01:05.260 に答える