0
我正在使用ASP.NET MVC。我尝试执行搜索框。使用JS和ASP.NET的网格搜索功能MVC
我有一个输入框和一个按钮:
<div>
<input type="text" name="Search" id="Search" />
<input type="submit" value="Search" id="SearchButton" />
</div>
然后我使用JS以接收用户输入和触发功能:
然后,在后端,还有一个响应方法:
[HttpPost, ActionName("Search")]
public JsonResult Search(string AutoCribItemID) {
List<PCAModel> allRecords = new List<PCAModel>();
allRecords = db.elements.Where(model => model.AutoCribItemID.Contains(AutoCribItemID)).ToList();
return Json(new { Data = allRecords }, JsonRequestBehavior.AllowGet);
}
你可以看到这个C#方法返回一个列表到前端。然后我想要做的是在搜索到用户后显示所有数据。
这里是搜索之后,显示的数据的方法:
function loadData(result) {
var table = $('<table id="indexTable"></table>');
var thead = $('<thead></thead>');
var trow = $('<tr class="header"></tr>');
trow.append('<th>EffectiveDate</th>');
trow.append('<th>ChangeAgree</th>');
trow.append('<th>Client</th>');
trow.append('<th>Installation</th>');
trow.append('<th>AutoCribItemID</th>');
trow.append('<th>RGBSupplier</th>');
trow.append('<th>Price</th>');
trow.append('<th>SubmitDate</th>');
trow.append('<th>WINUserName</th>');
trow.append('<th>Export</th>');
thead.append(trow);
table.append(thead);
var tbody = $('<tbody></tbody>');
for (var i = 0; i < result.length; i++) {
tbody.append(result[i]);
}
table.append(tbody);
$('#indexTableBody').html(table);
location.reload();
}
注:上述“结果”参数是从后端C#的功能。
问题是,网页显示表中的所有记录,而不是显示搜索到的数据。我只需要在网格搜索后显示数据。
看来这不是问题。我遵循你所说的话,但它不起作用。 – tonymiao 2015-02-11 16:26:48
只是在黑暗中拍摄而不知道更多关于您的应用程序。 – RTigger 2015-02-11 16:45:49
我发现我从后端得到了一个JSON对象。该对象包含我需要的所有信息。但我无法将此对象转换为JS数组。 – tonymiao 2015-02-11 18:36:55