gpt4 book ai didi

asp.net-mvc - 在同一页面中显示搜索表单及其结果的最佳方式?

转载 作者:行者123 更新时间:2023-12-05 00:04:12 26 4
gpt4 key购买 nike

假设我有一个带有文本框的简单搜索表单。提交表单后,我将文本框的内容发送到存储过程,该过程将结果返回给我。我希望结果显示在表单所在的同一页面上,除了它的正下方。

现在我正在执行以下操作,但它并没有完全按照我想要的方式进行:

我的 SearchController 的“索引” View

@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);

这是我的“搜索结果” View :
@model IEnumerable<MyProject.Models.spSearchName_Result>

<table>
@foreach (var item in Model)
{
<tr>
<td>
@item.Name
</td>
</tr>
}
</table>

这是我的 Controller :
    // GET: /Search/SearchResult
[HttpPost]
public ActionResult SearchResult(FormCollection collection)
{
var result = myentity.spSearchName(collection["Name"]);
return PartialView("SearchResults", result);
}

我似乎只能让结果显示在一个全新的页面上(不是作为局部 View 嵌入),或者在我加载搜索页面时出现错误,因为没有结果(因为我还没有搜索过) .

有没有更好的方法来实现我想要做的事情?我觉得我违背了 MVC 中的一些最佳实践。

最佳答案

您可以在 ViewData 中返回结果对象然后仅在 View 上显示它如果是 not null .

关于asp.net-mvc - 在同一页面中显示搜索表单及其结果的最佳方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5887799/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com