人无信不立/2008-04-26 22:30
永春阁
专注于技术,切不可沉湎于技术
博客园
社区
首页
新随笔
联系
管理
订阅
随笔- 233 文章- 20 评论- 1429
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
永春
阅读(1901)
评论(11)
编辑
收藏
网摘
所属分类:
MonoRail
发表评论
1304210
回复
引用
#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[未注册用户]
楼主,有一个问题...能用这个实现二级域名吗??
刷新评论列表
刷新页面
返回页首
发表评论
昵称:
[登录]
[注册]
主页:
邮箱:
(仅博主可见)
验证码:
看不清,换一个
评论内容:
登录
注册
[使用Ctrl+Enter键快速提交评论]
0
928657
链接:
切换模板
导航:
网站首页
社区
新闻
博问
闪存
网摘
招聘
找找看
Google搜索
China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
China-Pub 计算机绝版图书按需印刷服务
相关文章:
最新IT新闻:
Twitter无处不在 魔兽世界Twitter发送器插件发布
Firefox 3.5匆忙推出漏洞多 Mozilla本月将更新
预测:Twitter最可能收购的十家公司
网易澄清:与暴雪合资公司仅提供技术支持
杰克逊悼念仪式或成史上最大规模Web活动
相关链接:
公告
本Blog版权均为本人所有,欢迎任何媒体和网站转载本人博客的内容。
本Blog的内容按原样提供,本人不提供任何形式的担保。
转载请注明出处
我的MVP配置
自2007年3月8日:
系列文章
1、
Sharepoint2007对象模型系列
2、
C#强化系列文章
3、
MOSS SDK学习系列
4、
IBatis.Net学习笔记系列
5、
MonoRail学习笔记系列
我的最新闪存
一切随风
<
2007年10月
>
日
一
二
三
四
五
六
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
8
9
10
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
留言簿
给我留言
查看留言
我参加的小组
写书译书小组
创业交流
Debug 探索团队小组
博客园精华集出版小组
iBATIS.NET
MonoRail
我参与的团队
SharePoint团队(0/0)
Ajax&Atlas技术团队(0/0)
南京.net俱乐部(0/0)
ASP.NET AJAX (Atlas)学习(0/0)
MVP(微软最有价值专家)团队(0/0)
软件项目管理团队(0/0)
Debug 探索团队(0/0)
博客园精华集出版(0/0)
随笔分类
.Net(50)
(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)
企业开发(2)
(rss)
数据库(21)
(rss)
外语(1)
(rss)
项目管理(7)
(rss)
娱乐/杂记/修养(52)
(rss)
随笔档案
2009年4月 (1)
2009年2月 (2)
2009年1月 (1)
2008年11月 (1)
2008年10月 (1)
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主页
门户网站
南京程序员俱乐部
积分与排名
积分 - 394929
排名 - 86
最新评论
1. re: Asp.Net Forms验证(自定义、角色提供程序、单点登录)
学习ASP.NET的朋友请加QQ群:68970971 / 72308145 (Myleetle)
2. re: 换个活法
@feedback
谢谢
有道理 (永春)
3. re: 换个活法
市场+研发+培训。三人组合。先做小项目,因为大项目一般都是需要公司资质的,而目前你们的实力最好不要成立公司,要知道一个公司的开销还是蛮大的。有了稳定的客户群之后,稳定的项目以及差不多成型的产品,那就成... (feedback)
4. re: 莫名其妙的SqlServer更新错误:OleDbException 必须声明标量变量
使用参数化 DbCommand 的一个缺点是需要参数的代码将仅适用于支持相同语法的提供程序。OLEDB、SqlClient 和 Oracle 提供程序全部使用不同的语法。例如,用于命名和指定参数的 S... (弹弹)
5. re: [转载]最经典,最可怕的qq聊天记录
wuyu (1112)
阅读排行榜
1. 易经杂说—南怀瑾(9176)
2. Asp.Net Forms验证(自定义、角色提供程序、单点登录)(6712)
3. C#强化系列文章五:动态代码的使用(反射和动态生成类)(5628)
4. SQL Server2005 各版本区别(5292)
5. IBatis.Net学习笔记二--下载、编译、运行NPetShop(5169)