; %><%=Html.TextBox(\"txtUserName\", UserModel[\"UserName\"].ToString())%>
说明:﹡ResourceBaseEditModelService.GetEditModelByID 返回类型为ResourceBaseEditModel
﹡ResourceBaseEditModel 是一个数据实体类型 如:
public class ResourceBaseEditModel
{
public Guid Id{ get; set; }
}
3. ViewData 把强类型的ViewData对象从控制器传递给视图,这里只讲强类型对象的传递
在控制器中赋值:
ViewData[\"editModel\"]
ResourceBaseEditModelService.GetEditModelByID(TempDeviceID.Value);在视图页面取值:
<% ResourceBaseEditModel localModel = ViewData[\"Local\"] ResourceBaseEditModel; %>
<%=Html.TextBox(\"txtDeviceID\", localModel.Id%>
4. Dynamic
在控制器赋值:
ResourceBaseEditModel model ResourceBaseEditModelService.GetEditModelByID(TempDeviceID.Value); dynamic viewModel = new ExpandoObject();
=
as =
viewModel.UserID = model.Id;
viewModel.UserName = model.name;
return View(viewModel);
在视图页面取值:
<%@ Page Language=\"C#\"
Inherits=\"System.Web.Mvc.ViewPage\" %><%=Html.TextBox(\"txtUserName\", (string)Model.name)%>
<%=Html.TextBox(\"txtUserId\", (string)Model.Id)%>
最近在开发一个项目,用的是mvc框架,现将mvc会用到的常用传值方法总结如下:
在讲传递参数方法之前,先简单介绍一下MVC路由及运行机制。
首先,Web 浏览器向服务器发送一条http://HostName/ControllerName/ActionName/Parameters。
URL 请求,如
其次,请求被ASP. NET MVC 的路由映射系统获取, 并按照映射规则, 解析出 ControllerName,ActionName 和Parameters;
再次,到Controllers 目录下找到ControllerNameController.cs 类, 并在这个类
中找到与 ActionName 同名的方法,将Parameters 作为参数传给这个方法;
最后,Action 方法开始执行,完成后将返回相应视图
以下是四种传值方式,根据不同情况下具体运用
1. Request
1. Request.Form:获取以POST方式提交的数据(接收Form提交来的数据)
View视图下:post方式提交数据
<% Html.BeginForm(\"LogOnMothed \", \" User \", FormMethod.Post); %>
或