重典的博客
实践推动发展
博客园
社区
首页
新随笔
联系
管理
订阅
随笔- 197 文章- 44 评论- 1480
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
posted @ 2008-03-10 23:47
重典
阅读(2889)
评论(8)
编辑
收藏
网摘
所属分类:
ASP.NET MVC
发表评论
回复
引用
查看
#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
刷新评论
切换模板
发表评论
昵称:
[登录]
[注册]
主页:
邮箱:
(仅博主可见)
验证码:
看不清,换一个
评论内容:
登录
注册
[使用Ctrl+Enter键快速提交评论]
0
1099679
导航:
网站首页
社区
新闻
博问
闪存
网摘
招聘
找找看
Google搜索
China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
China-Pub 计算机绝版图书按需印刷服务
相关文章:
最新IT新闻:
Firefox 3.5匆忙推出漏洞多 Mozilla本月将更新
预测:Twitter最可能收购的十家公司
网易澄清:与暴雪合资公司仅提供技术支持
杰克逊悼念仪式或成史上最大规模Web活动
《商业周刊》:Mozilla的志愿者开发模式被复制
相关链接:
公告
个人信息>>
Expand↓
MVP/GDI
MVP Profile
CHSNS#1.2 Open Source
CHSNS# Eice.com.cn
Asp.net Mvc Framework 系列
Email/MSN:chsword@126.com
page to Other Lanaguage
twitter
follow me on Twitter
订阅我的博客>>
Expand↓
XML/RSS
FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
最新评论
我的标签
我参与的团队
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)
随笔分类
(140)
Ado.net Entity Framework(9)
(rss)
Algorithm (4)
(rss)
ASP.NET MVC(66)
(rss)
Castle Project(4)
(rss)
CHSNS#(13)
(rss)
Semantic Web(2)
(rss)
Silverlight(1)
(rss)
Web前端UI开发(13)
(rss)
windows7(2)
(rss)
成幻Online Judge(CHOJ#)(12)
(rss)
模式、重构、实践(4)
(rss)
问题的累积(2)
(rss)
游戏开发(2)
(rss)
杂文杂事(5)
(rss)
智能设备(1)
(rss)
随笔档案
(170)
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月 (6)
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. ASP.NET MVC 1.1 _VS2010 & ASP.NET MVC 2 新特性
2. CHOJ# 在线编译及评判系统(OnlineJudge)2.0 Beta2
3. ASP.NET MVC雕虫小技 3、Pager
4. ASP.NET MVC雕虫小技 1-2
5. ASP.NET MVC 重点教程一周年版 总结:ASP.NET MVC模型
6. ASP.NET MVC 重点教程一周年版 第十一回 母版页、用户自定义控件及文件上传
7. 使用Unity 实现 AOP
8. ASP.NET MVC 重点教程一周年版 第十回 请求Controller
9. ASP.NET MVC 重点教程一周年版 第九回 HtmlHelper
10. 无缝缓存读取简化:仅Lambda表达式传递委托
11. 无缝的缓存读取:双存储缓存策略
12. ASP.NET MVC 重点教程一周年版 第八回 Helper之演化
13. 用ASP.NET MVC自己管理自己的View:ASP.NET MVC File Management
14. 尝试在博客中嵌入SL
15. ASP.NET MVC 重点教程一周年版 第七回 UrlHelper
16. ASP.NET MVC 重点教程一周年版 第六回 过滤器Filter
17. ASP.NET MVC 重点教程一周年版 第五回 ActionResult的其它返回值
18. ASP.NET MVC 重点教程一周年版 第四回 向View传值
19. ASP.NET MVC 重点教程一周年版 第三回 Controller与View
20. ASP.NET MVC 重点教程一周年版 第二回 UrlRouting
最新评论
1. re: 微软也走先使用后收费的路子--创业企业扶植计划(Microsoft BizSpark™)
为什么要用"也"呢 (keLai)
2. re: CHSNS#BUG提交及问题解答
厉害,厉害..... (天羽)
3. re: ASP.NET MVC 重点教程一周年版 第九回 HtmlHelper
有html.checkbox的详细用法吗? (jagx526)
4. re: ASP.NET MVC雕虫小技 3、Pager
@fs
引入 using System.Web.Mvc.Html; (三金)
5. re: ASP.NET MVC 重点教程一周年版 第七回 UrlHelper
@xcccb-------------看了下面这句话 你就明白<%=Url.Action("Index","Home") %> 和<%=Htm... (ruruya)
阅读排行榜
1. ASP.NET MVC Framework 系列(22776)
2. Asp.net Mvc 入门视频教程(试水)(18923)
3. System.Web.Routing入门及进阶 上篇(15639)
4. Asp.net Mvc开发体会点滴 一(14262)
5. Ado.net Entity Framework系列(13608)
评论排行榜
1. Asp.net Mvc 入门视频教程(试水)(72)
2. Asp.net Mvc Codeplex Preview 5 第三篇 实现Action参数传递繁杂类型(55)
3. CHSNS#BUG提交及问题解答(44)
4. ASP.NET MVC RC 2 发布(39)
5. 无缝的缓存读取:双存储缓存策略(38)
60天内阅读排行
1. ASP.NET MVC雕虫小技 1-2(2858)
2. ASP.NET MVC雕虫小技 3、Pager(2311)
3. ASP.NET MVC 1.1 _VS2010 & ASP.NET MVC 2 新特性(2125)
4. CHOJ# 在线编译及评判系统(OnlineJudge)2.0 Beta2(1172)
5. Silverlight小试验1(315)