重典的博客
实践推动发展
博客园
社区
首页
新随笔
联系
管理
订阅
随笔- 203 文章- 45 评论- 1530
Asp.net Mvc Framework 三 (Controller与View)
这节我们让Asp.netMVC真正的跑起来
我们自己新建一个新的Controller
开始行动:
在Controllers中新建一个MVC Controller Class,个人宣传一下.就叫EiceController
附注一下,这里是个纯广告,无兴趣可略过此行:
www.eice.com.cn
为您建立Web2.0社交网站
默认生成的代码如下:
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Web;
using
System.Web.Mvc;
namespace
MvcApplication2.Controllers
{
/**/
///
<summary>
///
记不记得前面讲过的,所有Controller都要继承于
///
Controller类
///
</summary>
public
class
EiceController : Controller
{
public
void
Index(
string
id)
{
}
}
}
当然,除了Controller我们还要建个View
先在Views中建个Eice文件夹
然后我们要建个Index.aspx
注意了:要建MVC View (Content) Page,如果你要使用母板页就选用Content Page,反之选用一般Page即可
MVC的Aspx文件与传统的WebForm的Aspx文件有所不同
我们将EiceController的Index写为
public
void
Index(
string
id)
{
ViewData[
"
qs
"
]
=
id;
RenderView(
"
Index
"
);
}
在View即/Views/Eice/Index.aspx中写内容
<
asp:Content ID
=
"
Content1
"
ContentPlaceHolderID
=
"
MainContentPlaceHolder
"
runat
=
"
server
"
>
<%=
ViewData[
"
qs
"
]
%>
</
asp:Content
>
接下来我们访问
/eice/index/helloeice
也许你会发现,在页面上出现了helloeice
由上面两段程序可以看出
string id用于接收QueryString["id"] 其实Action中的参数除了能接收QueryString以外也是可以接收Forms的
这里不做过多说明了,在后文中会有介绍
ViewData是一个页面间的IDictionary用于Controller向View传递数据
这样View与Controller就可以协作完成显示页面与逻辑处理的工作了
Asp.net Mvc Framework 系列
Asp.net Mvc Framework 系列
Ado.net Entity Framework系列
供大家学习参考,转文章随意--重典
Tag标签:
CHSNS#
,
Microsoft
,
Asp.net MVC
,
.net
0
0
0
(请您对文章做出评价)
«
上一篇:
Asp.net Mvc Framework 二 (URL Routing初解)
»
下一篇:
Asp.net Mvc Framework 四 (在.net2.0下运行)
posted @ 2008-03-10 23:47
重典
阅读(3602)
评论(8)
编辑
收藏
网摘
所属分类:
ASP.NET MVC
发表评论
1256942
回复
引用
查看
#1楼
2008-03-13 14:00 |
miao~
呵呵...~~~好神奇...看下一张去了...又不会的再问你啊...
回复
引用
查看
#2楼
2008-07-16 10:18 |
云の世界
重典兄:
RenderView("Index");
这种情况,rander的
/Views/ControlerName/Index.aspx
但是,如果我想利用view实现换肤的话,
如何做呢。如果这样,似乎很有问题;
string Theme = "blue";
RenderView(Theme + "Index");
那这样在每个/Views/ControlerName/里,都要保含所有版本的view.
通常应该每个主题一个文件夹阿。
回复
引用
查看
#3楼
2008-07-16 10:25 |
云の世界
asp.net mvc,对于view的存储位置限制太死了
如果作为默认倒也无可厚非。但是不提供
自定义的设定的方法的话,就太缺陷了。
回复
引用
查看
#4楼
[
楼主
]2008-07-16 10:28 |
重典
@云の世界
皮肤嘛,一般更改CSS就可以了,如果是换模板的话可以
string[] themes=["blue","red"...];
public void index(string theme){
if(themes.Contains(theme))
RenderView(theme + "Index");
else
RenderView("Index");
}
类似这样.也可以
RenderView("/" + theme + "/Index");
即,/blue/index
这样管理比较方便
回复
引用
查看
#5楼
[
楼主
]2008-07-16 10:34 |
重典
@云の世界
其实我倒感觉还是挺灵活的,只是一开始在整个文件夹内四处存,现在收到了更小的一个文件夹里,感觉....
只是感觉吧,其实和原来的WEB方式都是都在一个文件夹里嘛
另外,你存成什么格式,他都可以自动找到,相对来说是更宽松了
回复
引用
查看
#6楼
2008-07-16 15:42 |
云の世界
邹兄,你说的,好像还是这个结构吧。
[views]
.|
.---[Controler1]
...|
...---[blue]
.... |
.... ---index.aspx
.... |
.... ---Edit.aspx
...---[Red]
.... |
.... ---index.aspx
.... |
.... ---Edit.aspx
.---[Controler2]
...|
...---[blue]
.... |
.... ---hello.aspx
.... |
.... ---report.aspx
...---[Red]
.... |
.... ---hello.aspx
.... |
.... ---report.aspx
这样,主题view无法独立出来,不利于分离主题,管理主题。
而我觉得,最理想的结构是
[views]
.|
.---[blue]
...|
...---[Controler1]
.... |
.... ---index.aspx
.... |
.... ---Edit.aspx
...---[Controler2]
.... |
.... ---hello.aspx
.... |
.... ---report.aspx
.---[Red]
...|
...---[Controler1]
.... |
.... ---index.aspx
.... |
.... ---Edit.aspx
...---[Controler2]
.... |
.... ---hello.aspx
.... |
.... ---report.aspx
注册用户登录后才能发表评论,请
登录
或
注册
。
IT新闻
:
·
《魔兽世界》有望春节后合法运营
·
1月必应搜索市场份额破10% 一年内可赶上雅虎
·
周鸿祎:马化腾的成功在于打动人心
·
充分保护用户隐私:Adobe Flash Player 10.1beta版本中已加入私密浏览模式
·
Google 将 Street View 设备放到雪橇上让你看遍冬奥会的雪景
每天10分钟,轻松学英语
专题:
iPad
jQuery
Windows 7
网站导航:
博客园首页
IT新闻
个人主页
闪存
程序员招聘
社区
博问
网摘
China-pub 计算机图书网上专卖店!6.5万品种2-8折!
China-Pub 计算机绝版图书按需印刷服务
相关搜索:
CHSNS#
Microsoft
Asp.net MVC
.net
ASP.NET MVC
在知识库中查看:
Asp.net Mvc Framework 三 (Controller与View)
公告
MVP Profile
CHSNS#1.2 Open Source
CHSNS# Eice.com.cn
Asp.net Mvc Framework 系列
Email/MSN:chsword@126.com
page to Other Lanaguage
我的主页
个人资料
我的闪存
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
最新评论
我的标签
我参与的团队
ASP.NET AJAX (Atlas)学习(0/0)
MVP(微软最有价值专家)团队(0/0)
ASP.NET MVC团队(0/0)
我的标签
Asp.net MVC(49)
aspnetmvc(33)
.net(32)
Microsoft(26)
MVC(18)
CHSNS#(15)
Asp.net(9)
Ado.net(9)
ef(8)
sql(7)
随笔分类
(146)
Ado.net Entity Framework(9)
(rss)
Algorithm (4)
(rss)
ASP.NET MVC(67)
(rss)
Castle Project(4)
(rss)
CHSNS#(13)
(rss)
Semantic Web(2)
(rss)
Silverlight(2)
(rss)
Web前端UI开发(13)
(rss)
windows7(4)
(rss)
成幻Online Judge(CHOJ#)(12)
(rss)
模式、重构、实践(4)
(rss)
问题的累积(2)
(rss)
游戏开发(2)
(rss)
杂文杂事(7)
(rss)
智能设备(1)
(rss)
随笔档案
(176)
2010年1月 (1)
2009年12月 (3)
2009年11月 (1)
2009年10月 (1)
2009年9月 (1)
2009年6月 (2)
2009年5月 (4)
2009年4月 (6)
2009年3月 (12)
2009年2月 (4)
2009年1月 (3)
2008年12月 (3)
2008年11月 (4)
2008年10月 (5)
2008年9月 (15)
2008年8月 (20)
2008年7月 (8)
2008年6月 (2)
2008年4月 (5)
2008年3月 (16)
2008年2月 (4)
2008年1月 (4)
2007年12月 (4)
2007年11月 (2)
2007年10月 (3)
2007年9月 (4)
2007年8月 (8)
2007年7月 (3)
2007年6月 (2)
2007年5月 (1)
2007年3月 (12)
2007年2月 (13)
友情连接
Anytao
(rss)
dudu
(rss)
可爱的站长
Leven's Blog
(rss)
lulu Studio
(rss)
Terrylee
(rss)
TNT2(szw)
海龙的博客
(rss)
自强不息
老f--紫色永恒
(rss)
老赵
(rss)
孟哥的博客
(rss)
郁闷的翩翩(darkdawn)
最新随笔
1. Windows 7中打不开光盘的解决方案之一
2. 问题贴
3. 如何获取视频网站的信息(土豆例子)
4. ASP.NET MVC 2.0 in Vs2010 :使用C# 4.0中使用动态类型来传递ViewData
5. Silverlight 保持图片原始大小
6. VS2010使用.net 4.0中的ASP.NET MVC 2 模板建立工程后无法提交HTML代码解决方案一则
7. 无法打开登录所请求的数据库DbName 。登录失败。 用户 'IIS APPPOOL\DefaultAppPool' 登录失败。 的解决方案
8. ASP.NET MVC 1.1 _VS2010 & ASP.NET MVC 2 新特性
9. CHOJ# 在线编译及评判系统(OnlineJudge)2.0 Beta2
10. ASP.NET MVC雕虫小技 3、Pager
11. ASP.NET MVC雕虫小技 1-2
最新评论
1. Re:ASP.NET MVC 重点教程一周年版 第四回 向View传值
@鱼蛋 是你虽然添加了Model类,但是没有把项目编译一边,你把项目编译了后,再添加View,就可以了,建议博主能加上说明 (HOH)
2. Re:Castle.ActiveRecord 使用 存储过程 返回实体类
例子不错,能用了,谢谢 (chenqin)
3. Re:使用ASP.NET MVC Futures 中的异步Action
頂一下 ^^ (TOYOE)
4. Re:System.Web.Routing入门及进阶 上篇
我发现原因了,是因为匹配的物理文件被发现了就不去routing 了,于是我设置routes.RouteExistingFiles = true; 楼主因该加入这句代码。 (Harold Shen)
5. Re:System.Web.Routing入门及进阶 上篇
LZ 我按照你的步骤写了代码,我也下载了你的代码运行,可是好像有点问题,为什么当我直接运行的时候并不会调用进入 MyRouteHandler.GetHttpHandler,只有当我在地址栏输入错误的U... (Harold Shen)
阅读排行榜
1. ASP.NET MVC Framework 系列(45623)
2. Asp.net Mvc 入门视频教程(试水)(28052)
3. System.Web.Routing入门及进阶 上篇(19145)
4. Ado.net Entity Framework系列(17248)
5. System.Web.Routing入门及进阶 下篇(15402)
评论排行榜
1. Asp.net Mvc 入门视频教程(试水)(74)
2. Asp.net Mvc Codeplex Preview 5 第三篇 实现Action参数传递繁杂类型(55)
3. CHSNS#BUG提交及问题解答(44)
4. ASP.NET MVC RC 2 发布(40)
5. 无缝的缓存读取:双存储缓存策略(38)