public class HomeController : Controller
{
// GET: Home
public ActionResult Index() //控制器名Home下默认的一个方法
{
return View();//返回视图
}
[HttpPost]//表单提交是post请求,定义该方法调用的类型位只能post请求
public ActionResult Update()
{
ViewBag.test = Request.Form["Title"];//获取表单提交的数据
return View();
}
[HttpGet] //[HttpPost]出错,不能同时提交多个方法 ; 错误提示 方法不明确 ;使用HttpGet表单提交方式必须HttpGet
public ActionResult Update(FormCollection form) //有参和无参函数可同名
{
ViewBag.test1 = form["Title"];
return View();
}
public ActionResult Update(string Title) //如果方法的参数名与表单元素的name属性名称一致就会自动填充
{
ViewBag.test2 = Title; //参数名与表单name名相同
return View();
}
public ActionResult Update(Book bk) //定义一个Book对象
{
ViewBag.test3 = bk.Title; //对象下的字段名和表单Name一致 才能接受对象
return View();
}
//Action方法返回值1.content 2.json 3.RedirectToAction,RedirectToRoute 4.View 5.File
//动作名称选择器
[ActionName("OtherName")] //修改原有Update名字为OtherName;原有的Update视图不起作用
public ActionResult Update(string bk,int a)
{
return View();
}
//动作方法选择器
[NonAction] //表示该方法不在被选择执行
public ActionResult test111()
{
return View();
}
//[HttpGet]和[HttpPost] 表示只会收到get或post请求
}
//从动作方法传递给视图
//将一个对象作为view()方法的参数传递给视图
public ActionResult A()
{
DateTime date = DateTime.Now;
return View(date); //视图代码 日期:@Model
}
//使用ViewBag传递数据
public ActionResult B()
{
DateTime date = DateTime.Now;
ViewBag.Date = date;
return View(); //视图代码 日期:@ViewBag.Date
}
//使用Viewdata传递数据
public ActionResult C()
{
DateTime date = DateTime.Now;
ViewData["Data"] = date;
return View(); //视图代码 日期:@ViewData["Data"]
}