求教一个MVC基础问题.

寒叶gg 2013-03-14 07:19:38
视图文件如何使用 控制器变量啊?
貌似只能传递一个实体过去. Controller里面return View(Model);
我要是想用多个变量怎么办?
webform直接在cs里定义protected string str;
前面就能用了,不知道MVC需要怎么弄?
还有就是逻辑代码写在哪啊?cshtml还是 控制器里?

MVC新手求教。。。。
...全文
103 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
白云任去留 2013-03-14
引用 2 楼 ckhker 的回复:
我只想知道cshtml如何调用控制器里面的变量 比如webform里我可以定义 protected int num=1; protected string title="标题"; protected UserModel userInfo=null; 那么在前台aspx里就可以直接用 <%=num%> <%=title%> <%=userInfo.Name%> 来调用。 ……
要么ViewBag(非强类型),无智能提示;要么扩展你的UserModel类,新增相关属性,如Title、Num,其他就没啥说了
回复
寒叶gg 2013-03-14
不过这样好像就不能智能感知了。。
回复
寒叶gg 2013-03-14
原来如痴。。。一语点醒
回复
在控制器里面可以这样定义变量:ViewBag.UserName = "aaa"; 然后在视图中可以这么使用变量:@ViewBag.UserName
回复
寒叶gg 2013-03-14
那我有多个实体需要传递还需要强制转换? @foreach (var t in (List<int>)ViewData["test"]) { @:@t } <br> @foreach (var t in (List<string>)ViewData["test1"]) { @:@t } 这样会流失很多性能吧?
回复
yyl8781697 2013-03-14
controler里面写 ViewData["key"]="test"; 前台<%= ViewData["key"]%> 这么输出试试
回复
寒叶gg 2013-03-14
我只想知道cshtml如何调用控制器里面的变量 比如webform里我可以定义 protected int num=1; protected string title="标题"; protected UserModel userInfo=null; 那么在前台aspx里就可以直接用 <%=num%> <%=title%> <%=userInfo.Name%> 来调用。 那么MVC里这种模式要怎么弄? Razor里我只会在控制器里用return View(userInfo); cshtml里@model UserModel 来调用, 多个变量就不知道怎么搞了。。
回复
宝_爸 2013-03-14
Model是个类,可以包含多个成员。
回复
相关推荐
发帖
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2013-03-14 07:19
社区公告
暂无公告