问题描述
各位路过的大神,大家好。我是一名大二的学生,学习的是Asp.Net方向,现在在做的是实训周的项目。做的是一个零食店商城的网站,使用的是MVC模式的开发,关于我的订单这里,有一项订单搜索的功能,不知道如何实现?控制器的方法需要怎么写法?如下图和方法显示:目的,就是想,根据订单号和商品的名称进行搜索,显示符合条件的订单记录。如,数据库如下:createtable[dbo].[Orders]([Order_Id][int]identity(1,1)notnullprimarykey,--订单ID[S_Name][varchar](50)notnull,--商品名称[S_Sprice][decimal](10,2)notnull,--商品价格[Order_Time][datetime]notnull,--订单时间[UserName][varchar](20)notnull,--用户姓名[Order_Sum][decimal](10,2)notnull,--订单数量[Order_Status]intnull,--订单状态(0为代付款,1为已付款等待发货,2为已发货等待签收,3。交易完成4.交易关闭)[S_image][varchar](100)null,--商品图片[Address][nvarchar](50)null--订单地址)GO控制器OrderControl下的动作方法:publicActionResultOrders(Ordersmodel){ViewBag.LoginName=this.User.Identity.Name;using(CLXSIMEntities9ce=newCLXSIMEntities9()){List<Orders>clist=ce.Orders.OrderBy(o=>o.Order_Id).ToList();returnView(clist);}}#region查询订单的列表[HttpGet]///<summary>///查询订单的列表///</summary>///<returns></returns>publicActionResultOrder(intO_id,stringSearchId){using(CLXSIMEntities9ce=newCLXSIMEntities9()){//使用EF对象来获取订单的列表varSearchList=newList<string>();//使用sql语句进行查询varSearchSql=fromdince.Ordersorderbyd.S_Nameselectd.S_Name;//将指定的数据"商品名称"进行排序SearchList.AddRange(SearchSql.Distinct());//通过ViewBag方法传送数据ViewBag.O_id=newSelectList(SearchList);varOrdersId=frombince.Ordersselectb;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));}returnView(OrdersId);}}#endregionOrders视图下:@using(Html.BeginForm("Orders","Orders",FormMethod.Get)){<divstyle="margin-left:180px;margin-top:-1px;height:25px;">@*<inputtype="text"placeholder="输入商品标题或订单号进行搜索"value="@Html."style="width:200px;height:20px;font-size:12px;"/>*@<span>商品名称:@Html.TextBox("OrdersId")</span> <inputtype="submit"onclick=""value="订单搜索"style="height:100%;margin-left:-5px;border:1px#cccsolid;font-size:12px;color:#353535;background-color:#f2f2f2;width:100px;"/><spanstyle="margin-left:15px;">更多搜索条件</span></div>}请教下各位百忙中的大神,应该如何实现这些效果呢?
解决方案
解决方案二:
路过进来瞧瞧看,O(∩_∩)O谢谢
解决方案三:
控制器定义个接收实体类参数,然后UI部分看你是直接页面Post的还是ajax提交的,但两者其实无本质区别,都是要传递的参数与action参数的属性名称一致
解决方案四:
即使是post请求,也没能有办法的实现,输入商品名称,点击搜索,然后显示搜索符合这条数据的订单,并显示在页面中?这是我想要实现的想法和效果
解决方案五:
就是后台增加一个post的action。然后参数需要时实体类型的。前台组装数据类似vard={"id":1,"name":"haha"};然后ajax提交就好了。
解决方案六:
直接按订单号搜索就行了啊!订单号是唯一的啊!
解决方案七:
怎么个实现法?能否用例子讲讲
解决方案八:
@using(Html.BeginForm("action","view",FormMethod.Post))前台视图加个这样子的后台定义一个同名的方法在前面加个[post]试试能不能解决
解决方案九:
这个可以理解为模糊查询,我提供的方案是先将所有的数据查询出来,然后在查询文本框里输入信息点击查询按钮出来查询的信息,仅供参考,希望对楼主有用