我試圖適應下面的代碼MVC3 jQuery的AJAX搜索
$(「#artistSearch」).submit(function (event) {
event.preventDefault();
var form = $(this);
$.ajax({
url: form.attr(「action」),
data: form.serialize(),
beforeSend: function() {
$(「#ajax-loader」).show();
},
complete: function() {
$(「#ajax-loader」).hide();
},
error: searchFailed,
success: function (data) {
$(「#artistTemplate」).tmpl(data).appendTo(「#artist-list」);
}
});
從Professional ASP.NET MVC 3允許搜索和同一表單中返回數據,並結束了以下內容:
在一個單獨的腳本文件
$(function() {
$("#btnSearch").click(function (event) {
event.preventDefault();
var idno = $("#txtIdNo").value;
$.ajax({
url: "/Owner/Search",
type: "POST",
data: idno,
datatype: "json",
beforeSend: function() {
$("#FullName").html("");
$("#OwnerId").html("");
$("#notFound").html("");
$("#ajax-loader").show();
},
complete: function() {
$("#ajax-loader").hide();
},
error: function() {
$("#notFound").html("Sorry, no data returned."); ;
},
success: function (data) {
$("#OwnerId").html(data.OwnerId);
$("#FullName").html(data.FullName);
}
});
});
});
在控制器
[HttpPost]
public JsonResult SearchById(string idNo)
{
var owner = _ownerService.FindBy(x => x.IdNo == idNo);
return Json(owner);
}
在視圖
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<fieldset>
<div>
<p>
Id No:
<input type="text" name="txtIdNo" />
<input type="button" value="Search" name="btnSearch" />
<label id="notFound"></label>
</p>
@Html.Hidden("OwnerId")
.
.
.
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
的原因,我使用 內的觀點是避免出現兩個相同的形式內提交按鈕,因爲我意識到了形式點擊搜索按鈕後驗證。
我在查詢之前也查看了建議的類似問題,但無濟於事。
我一直無法做出上述工作,並希望提供任何幫助。
我是一個新手,MVC3和JQuery
你什麼錯誤? – Marc 2012-07-12 11:17:45
如果「我在視圖中使用的原因是爲了避免在同一個表單中提交兩個按鈕,因爲我在點擊搜索按鈕後意識到表單正在驗證。」是原因...看看http://stackoverflow.com/a/9022708/1182982 – Yasser 2012-07-12 11:24:39
@亞瑟我已經書籤引用的文章,並會通過它。 – kagundajm 2012-07-12 13:37:44