gpt4 book ai didi

c# - 如何在没有 ef 的情况下在 MVC5 中使用参数进行搜索

转载 作者:太空宇宙 更新时间:2023-11-03 15:21:02 25 4
gpt4 key购买 nike

拜托,如果有人可以帮助我了解如何在不使用 Entity Framework 的情况下在 MVC 5 中创建搜索页面,我将非常高兴。如果用户输入产品名称并发布,结果将显示在 GridView 或单行的 InputBox/Label 中。我在后端使用 C# 和 SQLServer。我只是 MVC 和 C# 的初学者。

我创建了一个如下所示的 Controller ;

{
connect pcon = new connect();
using (SqlConnection conn = new SqlConnection(pcon.CS))
{
try
{
//do something
pcon.cmd.CommandText = "SELECT * FROM tbproduct WHERE itemName=@name)";
pcon.cmd.Parameters.Add(new SqlParameter("@name", System.Data.SqlDbType.NVarChar, 50));
pcon.cmd.Parameters["@name"].Value = p.itemName;
pcon.cmd.Connection = conn;
conn.Open();
datagridview = pcon.cmd.ExecuteReader();
TempData["Success"] = "Record Added Sucessfully.";
return RedirectToAction("Index", "Product");
}
catch (Exception ex)
{
// throw ex;
// return RedirectToAction("Index", "Product");
return View("Error", new HandleErrorInfo(ex, "Product", "AddProduct"));
} // end of try-catch
} // end of using
} // end of spurious open bracket

有了这个,我不知道如何将它传递给 View 以获得有意义的结果。谢谢

最佳答案

实际上你的 Controller 方法需要带一些搜索参数来搜索并返回结果。

您还可以根据要在 View 上显示的属性/字段创建 View 模型,然后将结果映射到 View 模型并返回它。

public ActionResult DoSearch(string searchString) 
{
var movies = <get the movie list>;

if (!String.IsNullOrEmpty(searchString))
{
movies = movies.Where(s => s.Title.Contains(searchString));
}

return View(movies);
}

在 View 中,您可以通过循环显示结果的模型来创建表格。

@model IEnumerable<MvcMovie.Models.Movie> 
@
if (Model.Count() == 0)
{
<tr>
<td colspan = "3" >Records not found</td>
</tr >
}
else
{
foreach(var item in Model)
{
<tr>
<td> @Html.DisplayFor(modelItem = > item.MovieName)</td>
<td> @Html.DisplayFor(modelItem => item.ReleaseDate)</td>
</tr >
}
}

为了显示更具吸引力和用户友好的表格,您也可以使用 IPagedList

看看http://www.asp.net/mvc/overview/getting-started/introduction/adding-search教程。

关于c# - 如何在没有 ef 的情况下在 MVC5 中使用参数进行搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37376780/

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