您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在ASP.NET MVC中单击按钮时呈现部分视图

在ASP.NET MVC中单击按钮时呈现部分视图

将按钮更改为

<button id="search">Search</button>

添加以下脚本

var url = '@Url.Action("DisplaySearchResults", "Search")';
$('#search').click(function() {
  var keyWord = $('#Keyword').val();
  $('#searchResults').load(url, { searchText: keyWord });
})

修改控制器方法以接受搜索文本

public ActionResult DisplaySearchResults(string searchText)
{
  var model = // build list based on parameter searchText
   return PartialView("SearchResults", model);
}

jQuery .load方法调用您的控制器方法,传递搜索文本的值,并<div>使用部分视图更新的内容

附注:使用一个<form>标签,并@Html.ValidationSummary()@Html.ValidationMessageFor()有可能不是在这里有必要。您永远不会返回Index视图ValidationSummary是没有意义的,并且我假设您希望null搜索文本返回所有结果,并且在任何情况下都没有属性的任何验证属性Keyword因此没有要验证的内容

根据OP的注释,该注释SearchCriterionModel将包含带有验证属性的多个属性,那么该方法将是包括一个提交按钮并处理表单.submit()事件

<input type="submit" value="Search" />

var url = '@Url.Action("DisplaySearchResults", "Search")';
$('form').submit(function() {
  if (!$(this).valid()) { 
    return false; // prevent the ajax call if validation errors
  }
  var form = $(this).serialize();
  $('#searchResults').load(url, form);
  return false; // prevent the default submit action
})

控制器的方法

public ActionResult DisplaySearchResults(SearchCriterionModel criteria)
{
  var model = // build list based on the properties of criteria
  return PartialView("SearchResults", model);
}
dotnet 2022/1/1 18:13:36 有710人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶