部分的なビューが実行されない

私はAjax.BeginForm()を使用してDOMに挿入されるテーブルを返すパーシャルビューを持っています。しかし、パーシャルビューは呼び出されません。デバッガをステップ実行すると、パーシャルビューが表示されます。どうして?

---------------これはAjaxコールのビューです----------------------

Enter a street name

@using (Ajax.BeginForm("QuickSearchResults", "Search", new AjaxOptions { HttpMethod = "Get", InsertionMode = InsertionMode.Replace, UpdateTargetId = "test" })) { <input type="text" name="q" /> <input type="submit" value="Search" /> } <div id="test"> </div>

----------------------コントローラの動作-------------------------- --------

   public PartialViewResult QuickSearchResults(string q)
             {
                ViewBag.LogOn = true;
                var properties = remsrepository.GetPropertyByStreetName(q);

                **return PartialView("_Property", properties);**
             }

 ------------------------------Partial View --------------------------



@model IEnumerable

   <table id="searchresults">
       <tr>
          <th>Adress</th>
          <th>Status</th>
       <th>List Price</th>
      </tr>
    @foreach(var item in Model)
    {
        <tr>


             <td>
                @Html.ActionLink(item.Property_Address.Street__ + " " +    `item.Property_Address.Street_Name,` 
                "PropertyDetails","Search", new {MLS = item.MLS})

            </td>
            <td>
                @item.Status
            </td>        
            <td>
                @item.List_Price
            </td>
        </tr>
    }

   </table>
2

1 答え

UpdateTargetId = "searchresults" を設定しましたが、 searchresults 要素は部分的に内側にあります。つまり、ページが最初にロードされたときに部分ビューがDOMの一部でない場合、AJAXフォームを送信すると、id = "searchresults"の要素は存在しないため、何も起こりません。 1つの可能性は、部分の外側に一意のIDを持つdivを配置し、 UpdateTargetId として使用することです。

0
追加された
私はAjax.BeginForm()の後にテーブルタグを持っています。書式設定の問題のために表示されませんでした。しかし、あなたは今それを見ることができます。パーシャルビューはnull以外のオブジェクト(Properties)を返します。しかし、それはDOMに挿入されていません。 _Layout.cshtmlのsrc = "../../ Scripts/jquery.unobtrusive-ajax.min.js" type = "text/javascript"というスクリプトも参照しています
追加された 著者 stackuser,
ありがとうございました!私はテーブルのタグを削除し、異なる名前のdivを追加し、それが動作します。再度、感謝します。
追加された 著者 stackuser,
@stackuser、ああ、同じIDを持つ2つの要素がありますか?それは無効なHTMLです。
追加された 著者 Darin Dimitrov,