2
我有一個Partial View,它返回一個使用Ajax.BeginForm()插入到DOM中的表。但部分視圖沒有被調用。當我通過調試器時,它只是跨過部分視圖。爲什麼?部分視圖沒有執行
---------------這是帶有Ajax調用的視圖----------------------
<h2>Enter a street name</h2>
@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<REMS.Models.Property>
<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>
我在Ajax.BeginForm()後面有一個表標記。由於格式問題,它沒有顯示。但你現在可以看到它。部分視圖確實會返回一個非空對象(屬性)。但它沒有被插入到DOM中。我也有一個腳本src =「../../ Scripts/jquery.unobtrusive-ajax.min.js」type =「text/javascript」在_Layout.cshtml – stackuser
@stackuser,啊,所以你有2具有相同ID的元素?這是無效的HTML。 –
謝謝!我刪除了表格標籤,並添加了一個不同名稱的div,它的工作原理。再次感謝。 – stackuser