C# 如何使用结果ID自动完成文本框搜索结果以显示在另一个视图中?
HomeController索引操作结果代码:C# 如何使用结果ID自动完成文本框搜索结果以显示在另一个视图中?,c#,asp.net,asp.net-mvc,linq,lambda,C#,Asp.net,Asp.net Mvc,Linq,Lambda,HomeController索引操作结果代码: namespace TilesSystem.Controllers { public class HomeController : Controller { private TilesSystemEntities db = new TilesSystemEntities(); public ActionResult Index() { //-----------
namespace TilesSystem.Controllers
{
public class HomeController : Controller
{
private TilesSystemEntities db = new TilesSystemEntities();
public ActionResult Index()
{
//-----------------------Menue-------------------------
ViewBag.Color = db.Colors.OrderBy(x => x.Name).ToList();
ViewBag.Size = db.Sizes.ToList();
ViewBag.Materials = db.Materials.OrderBy(x => x.Name).ToList();
ViewBag.TileEffects = db.TileEffects.OrderBy(x => x.Name).ToList();
//----------------------------days time-------------------------
ViewBag.Day1 = db.DayTimes.FirstOrDefault(x => x.Id == 1);
ViewBag.Day2 = db.DayTimes.FirstOrDefault(x => x.Id == 2);
ViewBag.Day3 = db.DayTimes.FirstOrDefault(x => x.Id == 3);
//-----------------------Log and phone--------------------
ViewBag.LogoPhone = db.Basics.FirstOrDefault(x => x.Id == 1);
///--------------------service--------------------------------
ViewBag.Service1 = db.Services.FirstOrDefault(x => x.Id == 1);
ViewBag.Service2 = db.Services.FirstOrDefault(x => x.Id == 2);
ViewBag.Service3 = db.Services.FirstOrDefault(x => x.Id == 3);
ViewBag.Service4 = db.Services.FirstOrDefault(x => x.Id == 4);
ViewBag.Service5 = db.Services.FirstOrDefault(x => x.Id == 5);
//------------------Tab------------------------
ViewBag.New = db.Tiles.Where(x=>x.Newproduct=="Yes").OrderByDescending(x=>x.Id);
ViewBag.Topsale = db.Tiles.Where(x=>x.TopSale=="Yes").OrderByDescending(x => x.Id);
ViewBag.Feature = db.Tiles.Where(x=>x.TopDoscunt=="Yes").OrderByDescending(x => x.Id);
ViewBag.Onsale = db.Tiles.Where(x=>x.OnSell=="Yes").OrderByDescending(x => x.Id);
//------------------6 Image----------------
ViewBag.Image1 = db.SixImages.FirstOrDefault(x => x.Id == 1);
ViewBag.Image2 = db.SixImages.FirstOrDefault(x => x.Id == 2);
ViewBag.Image3 = db.SixImages.FirstOrDefault(x => x.Id == 3);
ViewBag.Image4 = db.SixImages.FirstOrDefault(x => x.Id == 4);
ViewBag.Image5 = db.SixImages.FirstOrDefault(x => x.Id == 5);
ViewBag.Image6 = db.SixImages.FirstOrDefault(x => x.Id == 6);
//-------------------------Review------------------------
ViewBag.Reviews = db.Reviews;
ViewBag.LastReviews = db.Reviews.ToArray().LastOrDefault();
//-------------------Home slider------------------
ViewBag.slider1 = db.HomeSliders.FirstOrDefault(x => x.Id == 1);
ViewBag.slider2 = db.HomeSliders.FirstOrDefault(x => x.Id == 2);
ViewBag.slider3 = db.HomeSliders.FirstOrDefault(x => x.Id == 3);
return View();
}
public JsonResult GetTiles(string term)
{
List<string> tiles = db.Tiles.Where(s => s.Name.StartsWith(term))
.Select(x => x.Name).ToList();
return Json(tiles, JsonRequestBehavior.AllowGet);
}
}
}
命名空间TileSystem.Controller
{
公共类HomeController:控制器
{
private tilessystementies db=新tilessystementies();
公共行动结果索引()
{
//-----------------------梅努埃-------------------------
ViewBag.Color=db.Colors.OrderBy(x=>x.Name.ToList();
ViewBag.Size=db.Size.ToList();
ViewBag.Materials=db.Materials.OrderBy(x=>x.Name.ToList();
ViewBag.TileEffects=db.TileEffects.OrderBy(x=>x.Name.ToList();
//----------------------------天时间-------------------------
ViewBag.Day1=db.DayTimes.FirstOrDefault(x=>x.Id==1);
ViewBag.Day2=db.DayTimes.FirstOrDefault(x=>x.Id==2);
ViewBag.Day3=db.DayTimes.FirstOrDefault(x=>x.Id==3);
//-----------------------日志和电话--------------------
ViewBag.LogoPhone=db.Basics.FirstOrDefault(x=>x.Id==1);
///--------------------服务--------------------------------
ViewBag.Service1=db.Services.FirstOrDefault(x=>x.Id==1);
ViewBag.Service2=db.Services.FirstOrDefault(x=>x.Id==2);
ViewBag.Service3=db.Services.FirstOrDefault(x=>x.Id==3);
ViewBag.Service4=db.Services.FirstOrDefault(x=>x.Id==4);
ViewBag.Service5=db.Services.FirstOrDefault(x=>x.Id==5);
//------------------标签------------------------
ViewBag.New=db.Tiles.Where(x=>x.Newproduct==“Yes”).OrderByDescending(x=>x.Id);
ViewBag.Topsale=db.Tiles.Where(x=>x.Topsale==“Yes”).OrderByDescending(x=>x.Id);
ViewBag.Feature=db.Tiles.Where(x=>x.TopDoscunt==“Yes”).OrderByDescending(x=>x.Id);
ViewBag.Onsale=db.Tiles.Where(x=>x.OnSell==“Yes”).OrderByDescending(x=>x.Id);
//------------------6图像----------------
ViewBag.Image1=db.SixImages.FirstOrDefault(x=>x.Id==1);
ViewBag.Image2=db.SixImages.FirstOrDefault(x=>x.Id==2);
ViewBag.Image3=db.SixImages.FirstOrDefault(x=>x.Id==3);
ViewBag.Image4=db.SixImages.FirstOrDefault(x=>x.Id==4);
ViewBag.Image5=db.SixImages.FirstOrDefault(x=>x.Id==5);
ViewBag.Image6=db.SixImages.FirstOrDefault(x=>x.Id==6);
//-------------------------复习------------------------
ViewBag.Reviews=db.Reviews;
ViewBag.LastReviews=db.Reviews.ToArray().LastOrDefault();
//-------------------主滑块------------------
ViewBag.slider1=db.HomeSliders.FirstOrDefault(x=>x.Id==1);
ViewBag.slider2=db.HomeSliders.FirstOrDefault(x=>x.Id==2);
ViewBag.slider3=db.HomeSliders.FirstOrDefault(x=>x.Id==3);
返回视图();
}
公共JsonResult获取文件(字符串术语)
{
List tiles=db.tiles.Where(s=>s.Name.StartsWith(term))
.Select(x=>x.Name).ToList();
返回Json(tiles,JsonRequestBehavior.AllowGet);
}
}
}
现在,我想在单击按钮时在单个页面上显示搜索结果,即ProductDetails.cshtml。如何做到这一点?FYI使用动态键入的
ViewBag
并不是向视图提供主数据模型的预期方式。最佳实践方法是创建一个模型并返回它。我同意。这是另一个开发人员完成的项目。不幸的是,我必须按现在的方式完成它。对这个问题有任何帮助都会很好。是的。。。创建一个具有所有这些属性的类,在操作中实例化它,并将其传递给返回视图(myModel)
,然后在视图中声明它,并将所有的ViewBag.Service5
更新为Model.Service5
等。如果你想更进一步,我打赌该页面的很多部分都可能被拆分为多个部分视图以供组织使用。有没有办法解决当前的问题。i、 从文本框的文本值中获取id,并使用viewbag传递它?你的问题包含了各种各样的细节,我仍然完全不知道你想要实现什么。你是说在第1页上,用户从自动完成文本框中选择一个值,而你现在想将它们带到一个显示基于其选择的数据的页面?