人无信不立/2008-04-26 22:30
永春阁
专注于技术,切不可沉湎于技术
博客园
社区
首页
新随笔
联系
管理
订阅
随笔- 226 文章- 20 评论- 1275
MonoRail学习笔记三:使用方便功能强大的routing功能
我们浏览论坛或博客时经常会看到这样的Url:
http://www.cnblogs.com/firstyi/archive/2007/10/17/927967.html
(这个是博客园中的一个链接),其实实际上是不存在927967.html这个文件的,都是通过routing进行转义的
那么在MonoRail中我们可以方便的实现此功能。
首先在Web.config中配置:
<
monorail
>
<
routing
>
<
rule
>
<
pattern
>
(/blog/posts/)(\d+)/(\d+)(.)html$
</
pattern
>
<
replace
>
<![CDATA[
/blog/view.rails?year=$2&month=$3
]]>
</
replace
>
</
rule
>
</
routing
>
</
monorail
>
<
system
.web
>
<
httpModules
>
<
add
name
="routing"
type
="Castle.MonoRail.Framework.RoutingModule, Castle.MonoRail.Framework"
/>
</
httpModules
>
</
system.web
>
也就是MonoRail提供了RoutingMoudle这个类来处理
然后我们就可以直接在浏览器中输入:
http://localhost:****/blog/posts/11/22.html
来进行浏览,浏览时会在后台自动调用
/blog/view.rails?year=11&month=22 页面
(注:$1=/blog/posts/,每一个()里面的值都会替换成一个参数)
然后下面的就比较简单了
在Controllers/BlogController.cs中加入方法
:(
BolgController要从
SmartDispatcherController
继承
)
public
void
View(
int
year,
int
month)
{
PropertyBag.Add(
"
year
"
, year);
PropertyBag.Add(
"
month
"
, month);
}
在views/blog下加入文件view.vm
博客内容:
<
BR
>
Blog year
is
$year
<
BR
>
Blog month
is
$month
最后浏览的结果就是:
博客内容:
Blog year
is
11
Blog month
is
22
当然就只是一个简单的例子,没有什么实际效果。但在这个基础上我们可以实现其他的很多功能
posted @ 2007-10-18 11:02
永春
阅读(1447)
评论(11)
编辑
收藏
所属分类:
MonoRail
发表评论
回复
引用
#1楼
2007-10-22 15:00 |
飘枫 [未注册用户]
问下 MonoRail 的地址重写需要 注意什么吗? 为什么 我接不到值呢?
<rule>
<pattern>(/soar/)(\d+)(.)html$</pattern>
<replace><![CDATA[/Home/Index.html?AID=$2]]></replace>
</rule>
Web.config中是这么写的.
回复
引用
查看
#2楼
[
楼主
]2007-10-22 17:09 |
GSpring
@飘枫
应该写成
<rule>
<pattern>(/soar/)(\d+)(.)html$</pattern>
<replace><![CDATA[/Home/Index.rails?AID=$2]]></replace>
</rule>
另外还要在web.config中配置
<add name="routing" type="Castle.MonoRail.Framework.RoutingModule, Castle.MonoRail.Framework" />
回复
引用
查看
#3楼
2007-11-24 14:52 |
巫云
试了N次才成功,原来BolgController要继承在SmartDispatcherController的,一开始我写的继承自Controller,郁闷N久,博主这个地方应该写明白点哦,玩死菜鸟了~~
回复
引用
查看
#4楼
[
楼主
]2007-11-25 20:54 |
GSpring
@巫云
谢谢提醒,我把它加进去了
回复
引用
查看
#5楼
2008-04-25 11:45 |
冰隼
<routing>
<rule>
<pattern>(.*?)/(.*?)(.rails)</pattern>
<replace><![CDATA[ /$1/$2/ ]]></replace>
</rule>
</routing>
我这样配置的,但是访问页面的时候会报HTTP 404错误,请问博主知道问题的所在吗?
回复
引用
查看
#6楼
[
楼主
]2008-04-25 12:20 |
永春
@冰隼
应该是你的pattern定义的有问题,转换后找不到页面
回复
引用
查看
#7楼
2008-04-30 20:04 |
ddr888
又学一招
请问lz自学的方法
直接看它上面的类么
monorail的文章哪里比较多 中英文均可
回复
引用
查看
#8楼
[
楼主
]2008-05-04 08:46 |
永春
@ddr888
我一般是看monorail提供的例子程序的
回复
引用
#9楼
2008-09-01 10:35 |
tanher [未注册用户]
楼主,有一个问题...能用这个实现二级域名吗??
新用户注册
刷新评论列表
标题
姓名
主页
Email
(博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
网站首页
新闻频道
社区
小组
博问
网摘
闪存
找找看
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
该文被作者在 2007-11-25 20:57 编辑过
相关文章:
Json.NET - LINQ to JSON
Windows 2000 常见进程功能描述[转帖]
使用Visual Studio2005入门.Net2.0系列视频教程
Spring.net是否已经提供对MonoRail集成?
跟大家了解一下.net在公司中的应用情况
The Future of MonoRail in the Wake of MS MVC
MonoRail+AspView开发我的小站
相关链接:
所属分类的其他文章:
MonoRail学习笔记二十:资源文件的使用和多语言支持
MonoRail学习笔记十九:可重复使用组件ViewComponents的使用
MonoRail学习笔记十八:在VM中可以使用哪些系统变量
MonoRail学习笔记十七:TransformFilter的使用
MonoRail学习笔记十六:AJax在MonoRail中的使用
MonoRail学习笔记十五:文件上传
MonoRail学习笔记十四:分页功能的使用
MonoRail学习笔记十三:NVelocity的增强功能
使用NVelocity[翻译]
Velocity 《VTL语法参考指南》中文版[转]
最新IT新闻:
Mono 2.0 发布 Linux 上的 .NET 框架成熟了吗?
史上九大最强网络黑客
微软拟2010年推新版SQL 强化商业智能功能
GMail Labs 新功能 - 做数学题确认是否发出邮件
OpenOffice四处创造纪录 占有全球25%办公软件市场
公告
本Blog版权均为本人所有,欢迎任何媒体和网站转载本人博客的内容。
本Blog的内容按原样提供,本人不提供任何形式的担保。
转载请注明出处
我的MVP配置
自2007年3月8日:
系列文章
1、
Sharepoint2007对象模型系列
2、
C#强化系列文章
3、
MOSS SDK学习系列
4、
IBatis.Net学习笔记系列
5、
MonoRail学习笔记系列
<
2008年5月
>
日
一
二
三
四
五
六
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
留言簿
给我留言
查看留言
我参加的小组
Debug 探索团队小组
写书译书小组
博客园精华集出版小组
iBATIS.NET
MonoRail
我参与的团队
SharePoint团队(0/744)
Ajax&Atlas技术团队(0/1138)
南京.net俱乐部(0/429)
ASP.NET AJAX (Atlas)学习(0/1353)
MVP(微软最有价值专家)团队(0/637)
Debug 探索团队(0/53)
博客园精华集出版(0/45)
随笔分类
.Net(49)
(rss)
AJax(3)
(rss)
C++/VC学习(2)
(rss)
iBATIS.NET(15)
(rss)
Java(6)
(rss)
MonoRail(25)
(rss)
OS Shell(5)
(rss)
SharePoint(42)
(rss)
Windows Server(1)
(rss)
XHTML/CSS/Script(6)
(rss)
企业开发(2)
(rss)
数据库(21)
(rss)
外语(1)
(rss)
项目管理(7)
(rss)
娱乐/杂记/修养(49)
(rss)
随笔档案
2008年9月 (1)
2008年8月 (3)
2008年7月 (7)
2008年6月 (1)
2008年5月 (2)
2008年4月 (12)
2008年3月 (14)
2008年2月 (3)
2008年1月 (14)
2007年12月 (17)
2007年11月 (21)
2007年10月 (31)
2007年9月 (13)
2007年8月 (25)
2007年7月 (10)
2007年6月 (1)
2007年5月 (2)
2007年4月 (10)
2007年3月 (15)
2007年2月 (7)
2007年1月 (1)
2006年12月 (3)
2006年11月 (21)
2006年10月 (5)
2006年8月 (2)
SharePoint学习
Codeplex Sharepoint
jianyi @ cnblogs
Kaneboy's Blog
Patrick Tisseghem's Blog
管理相关
下载_中计在线
中国管理之家
开源社区
C#开源资源大全
Java开源大全
SourceForge主页
门户网站
南京程序员俱乐部
积分与排名
积分 - 300168
排名 - 98
最新评论
1. re: MonoRail学习笔记十:Controller和Url的对应关系
感谢,一直对这方面不熟悉。 MonoRail果然是个好东西!! 特别对于刚从asp转到。net的人来说简直就是回归自然!! 网站建设... (benfeng)
2. re: MonoRail学习笔记十一:页面控件的填充和验证
@Ariel Y.
Brail 是什么东西?
API做得好吗?
3. re: 为什么要使用MonoRail?
不知道是用MonoRail好还是用ProMesh好!
希望给点建议。
网站建设
(benfeng)
4. re: IBatis.Net学习笔记十--数据库连接处理
你好,我现在碰上一个问题
我现在有两个数据库,对应有两个连接,请问一下,要如何处理呢?谢谢 (Scrofield)
5. re: IBatis.Net学习笔记十三:在IBatis.Net中调用存储过程
IBATIS是不是不行了呀!官方的DEMO还是2003的呢 (king2003)
阅读排行榜
1. 这样的面试题你会吗?(4768)
2. 易经杂说—南怀瑾(4395)
3. Asp.Net Forms验证(自定义、角色提供程序、单点登录)(4194)
4. 年终个人总结:我这五年(4014)
5. 为什么要使用MonoRail?(3924)