假设我有一个带文本框的简单搜索表单.在提交表单后,我将文本框的内容发送到存储过程,然后返回给我结果.我希望结果显示在表单的同一页面上,除了它下面.
现在我正在做以下事情,但它并没有按照我想要的方式运作:
我的SearchController的“索引”视图
@using (Html.BeginForm("SearchResults","Search",FormMethod.Post,new { @class = "searchform" }))`{ <fieldset> <legend>Name</legend> <div class="editor-label"> @Html.Label("Search") </div> <div class="editor-field"> @Html.TextBox("Name") </div> <input type="submit" value="Search" class="formbutton" /> </fieldset> @{ Html.RenderPartial("SearchResults",null);
这是我的“SearchResults”视图:
@model IEnumerable<MyProject.Models.spSearchName_Result> <table> @foreach (var item in Model) { <tr> <td> @item.Name </td> </tr> } </table>
这是我的控制器:
// GET: /Search/SearchResult [HttpPost] public ActionResult SearchResult(FormCollection collection) { var result = myentity.spSearchName(collection["Name"]); return PartialView("SearchResults",result); }
我似乎只能将结果显示在一个全新的页面上(不是作为局部视图嵌入),或者我在加载搜索页面时收到错误,因为没有结果(因为我还没有搜索过) .
解决方法
您可以在ViewData对象中返回结果,然后仅在视图上显示它是否为null.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。