一、页面取值传给控制器
1、表单传值----利用Action
视图页:
<form action="方法名" method="post">
<label for="content">值内容</label>
<input type="text" name="bdzhi" id="content" /><br />
<input type="submit" value="表单传值">
</form>
控制器:
public ActionResult 方法名(FormCollection fc)
{
ViewBag.message = fc["bdzhi"];
return View();
}
这里是通过ViewBag返回页面
public ActionResult 方法名()
{
ViewBag.message =Request.Form["bdzhi"];
return View();
}
2、AJAX传值
<div>
<h2>AJAX传值</h2>
<span id="sex"></span><br />
<input type="radio" name="sexs" checked="checked" value="男">男 <input type="radio" name="sexs" value="女">女<br />
<input type="button" value="提交" id="bt">
<script>
//提交按钮绑定点击事件
$("#bt").on('click', function () {
//获取选中的radio选项的值
var value = $("input[type=radio]:checked").val()
//后台通过Request.Form["value"]可以取到
params = "value=" + value;
$.ajax({
//post方法传值
type: "POST",
url: "/xuexi/xingbie",
data: params,
success: function (data) {
//清空id=sex的span标签里的内容
$("#sex").empty();
//将后台返回的数据添加到span标签里
$("#sex").append(data);
}
})
})
</script>
</div>
控制器:
public string xingbie(string sex)
{
sex = "您的性别是" + Request.Form["value"];
return sex;
}
二、控制器返回页面
1、使用ViewBag(视图包)传递数据
控制器中:ViewBag.属性="任意";
页面中: @ViewBag.属性
属性可以随便填写!!!
例如:
控制器中方法:
public ActionResult 方法()
{
ViewBag.message ="哈哈哈";
return View();
}
页面中即可直接使用:
<span>@ViewBag.message</span>
2、使用View Data传递数据
控制器中:ViewData["随意起"]="任意";
页面中: @ViewData["随意起"]
使用方法同上
3、使用TempData传递数据
控制器中:TempData["随意起"]="任意";
页面中: @TempData["随意起"]
使用方法同上
注意!TempData的值在取了一次后则会自动删除刷新页面,则TempData[""]为Null
只是据说哈~~我没试验过,你们可以试验下告诉我!!
4、提供视图模型对象
控制器中:
public ViewResult Index()
{
DateTime date = DateTime.Now;
return View(date);
}
视图:
@model DateTime
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
今天是: @Model.DayOfWeek