请教ASP.NET MVC操作方法的参数值是如何获取的?
当我们在视图页中输入各项数据之后,提交给MVC,一般情况下,都是由控制器的操作方法进行处理的。但是,这些操作方法的参数值是如何被传递的?它就怎么知道我们在网页输入的那些数据,哪个跟哪个呢?而且有些时候,操作方法的参数可能还会是一个自定义模型类,那又是如何把网页上的数据传递给这些数据模型类的对象呢?请知道的兄弟姐妹说说,谢谢! --------------------编程问答-------------------- MVC框架会自动将表单数据转化成Model。如果你感兴趣,可以看MVC的源代码。 --------------------编程问答--------------------
// POST: /Dinners/Create--------------------编程问答-------------------- MVC --------------------编程问答-------------------- http://www.cnblogs.com/dingding3/archive/2010/08/21/MVC.html --------------------编程问答-------------------- 对,看源码,找一下ControllerActionInvoker --------------------编程问答-------------------- 1、在action 方法上写 参数,参数名跟 name名一样,强类型的话属性跟 name名一样。
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(Dinner dinner) {
if (ModelState.IsValid) {
try {
dinner.HostedBy = "SomeUser";
dinnerRepository.Add(dinner);
dinnerRepository.Save();
return RedirectToAction("Details", new { id=dinner.DinnerID });
}
catch {
ModelState.AddModelErrors(dinner.GetRuleViolations());
}
}
return View(new DinnerFormViewModel(dinner));
}
2、直接 request, 集合的话,可序列化。
--------------------编程问答-------------------- piblic ActionResult AA(FormCollection fc)
{
string a=fc["a"];
} --------------------编程问答-------------------- ViewData["MyStr"]="DDDD" 这个ViewData是什么时候用的呢?
--------------------编程问答--------------------
当需要在控制器和视图页之间传递数据的时候,就可以使用这个了。 --------------------编程问答-------------------- 学习了 --------------------编程问答-------------------- 前台传递一个model到control。model跟后台的model对应就行了 --------------------编程问答--------------------
是的. --------------------编程问答-------------------- 我学MVC的时候也看的是他的博客,推荐下 --------------------编程问答-------------------- 1
把需要传得值写在控件里,在控件外面添加Form表单
提交Form表单向后台传,后台可以通过FormCollection接收,
formvalues["控件name"],也可以Request.Form["控件name"](formvalues是自定义的)
2
可以通过ajax提交数据,
$.ajax({
type: "传输类型",
url: '<%=Url.Action("方法名","Controller名") %>',
data: 参数,
datatype: "json"参数类型,
success: function(responseJson, statusTest) {
if (responseJson.HasMessage)
{
出错的时候执行
} else {
不出错的时候执行
}
}
});
补充:.NET技术 , ASP.NET