我對mvc3相當新,所以請耐心等待。部分視圖不會更新後ajax.beginform
這是場景: 在我看來,我有一個小菜單和另一個局部視圖,它顯示了名稱與用戶輸入相匹配的產品。
@model List<BlokCWebwinkelGroep3.Models.Product>
在迷你菜單我有一個滑塊(2個滑塊手柄)和一個按鈕「搜索」(兩者都處於ajax.beginform)。當我點擊搜索按鈕時,滑塊的2個值會作爲參數發送給HttpPost actionmethod「search」(這些值位於隱藏的輸入字段中,當某人滑動滑塊時,這些值將由某個javascript更新),該返回值partialview(_myPartial,模型)。 (該模型是一個列表)。
Ajax.BeginForm
@using (Ajax.BeginForm("Search",
new AjaxOptions
{
UpdateTargetId = "table-container",
InsertionMode = System.Web.Mvc.Ajax.InsertionMode.Replace,
HttpMethod = "POST"
}))
{
<input type="hidden" name = "hidden" id="hidden_amount" />
<div id="slider-range">
</div>
<br />
<button type="submit" value="Search">
Search</button>
}
操作方法
[HttpPost]
public PartialViewResult Search(string hidden)
{
List<Product> Model = null;
string[] values = hidden.Split(' ');
int[] convertedString = Array.ConvertAll<string, int>(values, int.Parse);
string name = (string)TempData["searched"];
try
{
Model = ResultDBController.GetAdvancedSearched(name, convertedString[0], convertedString[1]);
}
catch (Exception e)
{
ViewBag.Foutmelding = "Er is iets foutgegaan: " + e;
}
return PartialView("_Product", Model);
}
的UpdateTargetId是div 「表容器」
@*Calls the _Product partial view*@
<div class="table-container">@Html.Partial("_Product", Model)</div>
然後通過漢邦運行人觀點,但是它不會在屏幕上顯示出來..
局部視圖
<table class="productlist">
@foreach (BlokCWebwinkelGroep3.Models.Product product in Model)
{
<tr class="product" onclick="location.href = '@(Url.Action("ProductPage", "Product", new {ProductID = @product.ProductID}))'">
<td>
<img src = '@product.ImageURL' alt = '@product.Name' />
</td>
<td>
@product.Name
</td>
<td>
€@product.Price
</td>
</tr>
}
說我搜索 「ER」,會在屏幕上顯示3種產品。 2個是< 75歐元,另一個是183歐元。如果我將滑塊設置爲75 - 300,我可以調試並查看一切正常。在actionmethod中返回的partialview僅包含183歐元的產品,然後它在部分視圖中循環一次,但部分視圖不更新到該版本,它與3個產品保持同一版本。
我在這裏做錯了什麼?
P.S. 我用下面的腳本我的頭
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
<script type="text/css" src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
你是英雄,非常感謝! 這是一個經典的編程案例太多,我認爲..我做了正確的方式與另一部分代碼中的ajax.actionlink .. 太糟糕了,我不能投票了! :( – Tom
我的榮幸!有時很難看到樹木的森林:)。祝你好運 –