各位路过的大神,大家好。我是一名大二的学生,学习的是Asp.Net方向,现在在做的是实训周的项目。做的是一个零食店商城的网站,使用的是MVC模式的开发,关于我的订单这里,有一项订单搜索的功能,不知道如何实现?
控制器的方法需要怎么写法?如下图和方法显示:
目的,就是想,根据订单号和商品的名称进行搜索,显示符合条件的订单记录。如,数据库如下:
create table [dbo].[Orders](
[Order_Id] [int] identity(1,1) not null primary key,--订单ID
[S_Name] [varchar](50) not null, --商品名称
[S_Sprice][decimal] (10,2) not null, --商品价格
[Order_Time][datetime] not null,--订单时间
[UserName] [varchar] (20) not null,--用户姓名
[Order_Sum] [decimal](10,2) not null,--订单数量
[Order_Status] int null, --订单状态 (0为代付款,1为已付款等待发货,2为已发货等待签收,3。交易完成 4.交易关闭)
[S_image] [varchar](100) null,--商品图片
[Address] [nvarchar](50) null --订单地址
)
GO
控制器OrderControl下的动作方法:
public ActionResult Orders(Orders model)
{
ViewBag.LoginName = this.User.Identity.Name;
using (CLXSIMEntities9 ce=new CLXSIMEntities9())
{
List<Orders> clist = ce.Orders.OrderBy(o => o.Order_Id).ToList();
return View(clist);
}
}
#region 查询订单的列表
[HttpGet]
/// <summary>
/// 查询订单的列表
/// </summary>
/// <returns></returns>
public ActionResult Order(int O_id,string SearchId)
{
using (CLXSIMEntities9 ce = new CLXSIMEntities9())
{
//使用EF对象来获取订单的列表
var SearchList = new List<string>();
//使用sql语句进行查询
var SearchSql = from d in ce.Orders orderby d.S_Name select d.S_Name;
//将指定的数据"商品名称"进行排序
SearchList.AddRange(SearchSql.Distinct());
//通过ViewBag方法传送数据
ViewBag.O_id = new SelectList(SearchList);
var OrdersId = from b in ce.Orders select b;
if (!String.IsNullOrEmpty(SearchId))
{
OrdersId = OrdersId.Where(o => o.S_Name.Contains(SearchId));
}
if (OrdersId==null)
{
OrdersId = OrdersId.Where(o => o.S_Name.Contains(SearchId));
}
return View(OrdersId);
}
}
#endregion
Orders视图下:
@using (Html.BeginForm("Orders", "Orders", FormMethod.Get))
{
<div style="margin-left: 180px; margin-top: -1px; height: 25px;">
@* <input type="text" placeholder="输入商品标题或订单号进行搜索 " value="@Html." style="width: 200px; height: 20px; font-size: 12px;" />
*@
<span>商品名称:@Html.TextBox("OrdersId")</span>
<input type="submit" onclick="" value="订单搜索" style="height: 100%; margin-left: -5px; border: 1px #ccc solid; font-size: 12px; color: #353535; background-color: #f2f2f2; width: 100px;" />
<span style="margin-left: 15px;">更多搜索条件</span>
</div>
}
请教下各位百忙中的大神,应该如何实现这些效果呢?