1
我想我的手和Asp.net MVC 4,並有一個Ajax表單的問題返回一個全新的頁面,而不是隻更新一個div。Ajax表單重新加載/返回新頁面而不是更新
這裏的剃刀的html代碼:
<div class="All">
<div class="Search">
@using (Ajax.BeginForm(new AjaxOptions { UpdateTargetId = "CurrentSku" }))
{
@Html.Label("Enter Sku:")
@Html.TextBox("textBox1")
<input type="submit" value="Find" />
}
</div>
<div id="CurrentSku">
<span>No Sku selected.</span>
</div>
和這裏的控制器:
public ActionResult Index()
{
// Pay no attention to this, just a place holder
return View(db.xInventoryExt.Take(1));
}
[HttpPost]
public ActionResult Index(string textBox1)
{
if (db.xInventoryExt.Count(a => a.InvtID == textBox1) < 1)
{
return Content("Sku not found.", "text/html");
}
var ret = db.xInventoryExt.First(b => b.InvtID == textBox1);
return Content(ret.ToString(), "text/html");
}
我讀這個時候不包括MicrosoftAjax.debug.js有時會發生,但我無法找到該文件的任何地方的副本。
這是增加了,仍然有同樣的問題。雖然我沒有使用默認的捆綁包,所以這可能是問題所在。我已經添加了微軟jQuery Unobtrusive Ajax nuget包。 – 2013-05-14 15:39:37
哦,如果你不使用包,你需要手動添加腳本。我已經更新了我的答案以示例。確保在您的項目中添加了「Microsoft jQuery Unobtrusive Ajax」NuGet包之後,''jquery.unobtrusive-ajax.js'腳本已經添加到'〜/ Scripts'文件夾中。還要確保首先包含'jquery.js',因爲它取決於它。 – 2013-05-14 15:41:44
謝謝!我會給它一個鏡頭。 – 2013-05-14 15:42:19