【发布时间】:2015-12-31 16:49:42
【问题描述】:
在我的索引视图中,我有以下相关的 jQuery 代码,当用户按 Enter 或单击搜索图标以触发搜索时,该代码会执行:
<div class="homeContent">
@Html.Partial("~/Views/Shared/_homeIndexContent.cshtml")
</div>
@section Scripts {
<script type="text/javascript">
$(document).ready(function () {
// Set focus on load to the Search box.
document.getElementById("Search").focus();
$("#Search").keyup(function(event){
if(event.keyCode==13){
alert("Index.cshtml - Enter Pressed - Method inside Document.Reader().");
searchAssets();
}
});
// Called when user clicks the magnifying glass icon next to the Searchbox.
function searchAssets() {
alert("Index.cshtml - searchAssets() called.");
var searchValue = document.getElementById("Search").value;
$.ajax({
url: '@Url.Action("search", "Home")',
data: { searchCriteria: document.getElementById("Search").value },
success: function (resp) {
$(".homeContent").html(resp);
document.getElementById("Search").value = searchValue;
document.getElementById("Search").focus();
var rows = $('.grid-table tbody tr').length;
$('#rowCount').html(rows);
setVerifyBtnClass();
}
});
}
HomeController:
public ActionResult Search(string searchCriteria)
{
fillPagingIntervalList();
var SearchResults = db.TABLE.ToList().Where(m.Status.STATUS_DESCRIPTION != null && m.Status.STATUS_DESCRIPTION.ToString().ToUpper() == searchCriteria.ToUpper() || // Other search Code
// Return the "refreshed" partial view without reloading entire page.
return PartialView("~/Views/Shared/_homeIndexContent.cshtml", SearchResults);
}
第一次搜索时一切正常,但部分视图已重新加载 我无法再通过单击 ENTER 键执行新搜索。 我仍然可以通过点击搜索图标触发新的搜索,但为什么我不能再使用 Enter 键?
如果我只是重新加载部分视图,我认为 Document.Ready() 中的 jQuery 应该仍然可以访问?
【问题讨论】:
标签: jquery asp.net-mvc asp.net-mvc-5 asp.net-mvc-partialview