public ActionResult Index(string id)//主页 //参数string searchString 访问方式为index?searchString=xxxx 。参数string id 访问方式为index/x
{
string searchString = id;
//return View(db.Books.ToList()); //返回一个对象集合
var s = from m in db.Books select m; //查询所有数据
if (!string.IsNullOrEmpty(searchString)) //判断传来的数据是否位空
{
s = s.Where(x => x.BookName.Contains(searchString)); //模糊查询数据
}
return View(s);
}
public ActionResult Edit(int? id) //只能接受整型数据;其他默认null
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);//传递过去400 //返回400页面
}
Book book = db.Books.Find(id); //在books表中查找指定id的对象 赋值给Book对象
if (book == null)
{
return HttpNotFound(); //未找到调用HttpNotFound()方法,传递 NotFound = 404,返回404 页面
}
return View(book); //返回这个对象
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include = "BookID,BookName,Author,Price,dt")] Book book) //编辑
{
if (ModelState.IsValid)
{
db.Entry(book).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(book);
}
[HttpPost, ActionName("Delete")] //重命名方法名 只接受post请求
[ValidateAntiForgeryToken]
public ActionResult DeleteConfirmed(int id) //删除
{
Book book = db.Books.Find(id); //根据指定ID查找
db.Books.Remove(book); //移除对象
db.SaveChanges(); //保存修改
return RedirectToAction("Index"); //返回主页
}
public class HomeController : Controller
{
// GET: Home
public ActionResult Index()
{
return View();// 参数可以返回model对象
}
//返回ViewResult视图结果,将视图呈现给网页
public ActionResult A1()
{
return View();// 参数可以返回model对象
}
//返回PartialViewResult部分视图结果,主要用于返回部分视图内容
public ActionResult A2()
{
return PartialView("ViewUserControl");//在View/Shared目录下创建ViewUserControl.cshtml部分视图
}
//返回ContentResult用户定义的内容类型
public ActionResult A3()
{
return Content("指定文本", "text/html"); // 可以指定文本类型
}
//返回JsonResult序列化的Json对象
public ActionResult A4()
{
//Dictionary<string, object> dic = new Dictionary<string, object>();
//dic.Add("id", 100);
//dic.Add("name", "hello");
List < string> list= new List<string>();
list.Add("xxxx");
list.Add("YYYY");
list.Add("ZZZZ");
//["xxxx","YYYY","ZZZZ"]
return Json(list, JsonRequestBehavior.AllowGet);//若要使用GET请求设置参数为AllowGet
//{"id":100,"name":"hello"}
}
//返回JavaScriptResult可在客户端执行的脚本
public ActionResult A5()
{
string str = string.Format("alter('{0}');", "弹出窗口");
return JavaScript(str);
}
//返回FileResult要写入响应中的二进制输出,一般可以用作要简单下载的功能
public ActionResult A6()
{
string fileName = "~/Content/test.zip"; // 文件名
string downFileName = "文件显示名称.zip"; // 要在下载框显示的文件名
return File(fileName, "application/octet-stream", downFileName);
}
// 返回Null或者Void数据类型的EmptyResult
public ActionResult A7()
{
return null;
}
//重定向方法:Redirect / RedirectToAction / RedirectToRoute
//Redirect:直接转到指定的url地址
public ActionResult Redirect()
{
// 直接返回指定的url地址
return Redirect("http://www.baidu.com");
}
// RedirectToAction:直接使用 Action Name 进行跳转,也可以加上ControllerName;也可以带参数
public ActionResult RedirectResult()
{
return RedirectToAction("Index", "Home", new { id = "100", name = "liu" });
}
//RedirectToRoute:指定路由进行跳转 //Default为global.asax.cs中定义的路由名称
public ActionResult RedirectRouteResult()
{
return RedirectToRoute("Default", new { controller = "Home", action = "Index" });
}
}