- publicActionResultUsingParams(stringp1, intp2, stringp3)
- {
- stringoutput = string.Empty;
- output += "p1 = "+ (p1 ?? "null");
- output += "<br />p2 = "
- + (p2.HasValue p2.Value.ToString() : "没有值");
- output += "<br />p3 = "+ (p3 ?? "null");
- returnContent(output);
- }
运行效果
498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' alt="" src="/uploadfile/201301/7/5995019322.png" />
这里在弄一个仿YouKu的URL路由设置
498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' alt="" src="/uploadfile/201301/7/F695021747.png" />
路由设置
- routes.MapRoute(
- "YouKu_Show",
- "v_{action}/id_{id}.html",
- new{ controller = "YouKu"},
- new{ id = "[a-z0-9]{13}"},
- newstring[] { "MvcApplication1.YouKu"}
- );
- routes.MapRoute(
- "YouKu_PlayList",
- "v_{action}/{id}.html",
- new{ controller = "YouKu"},
- new{ id = "[a-z0-9]{12}"},
- newstring[] { "MvcApplication1.YouKu"}
- );
详细代码文末会放出.
III:视图
1.视图的语法在很早的时候我已经写过一篇文章了.在此就略过不提.
2.视图与控制器之间如何进行数据交互
在前面的接触当中,我们已经对控制器和视图有一定的了解了.接着,我们将要了解他们之间的几种常用的数据交互方式.注意:ASP.NET MVC不存在IsPostBack.如果你需要把WebForm和MVC相结合.那么很抱歉,我个人非常反对这种方式.因为选择MVC的主要原因就是不希望再与runat=server打交道(当然你用ASP.NET开发而不去runat=server的话,是可以实现的).另一点MVC也方便测试.~在过去,如果你要对ASP.NET进行测试,我们可以设想一下,对每个需要测试的runat=server的服务器控件去设置一个预设值的话,由于属性繁多,复杂程度已经可想而知了.另外从根源上并不能保证都能发现所有问题.~或许我的这个测试ASP.NET的猜想根本不成立.而测试的时候往往还需要每Builder一次,然后对需要测试的页面逐个测试检查什么按钮之类的..OK,这些伤心事就不在提了.下面介绍下MVC下的数据交互有那几种方式.
2.1 ASP.NET MVC不在有IsPostBack,如何实现处理GET,POST?
首先我帖出一段简单的代码去为你展示ASP.NET MVC3下处理GET, POST的方式
- //默认是处理Get请求,当然你也可以显式添加
- [HttpGet]
- publicActionResultUsingViewBag()
- {
- returnView();
- }
- //显式将操作方法设置处理Post请求
- [HttpPost]
- publicActionResultUsingViewBag(stringinput)
- {
- if(string.IsNullOrWhiteSpace(input))
- {
- ViewBag.Msg = inputBlank;
- }
- else
- {
- ViewBag.Msg = "你输入了: "+ input;
- }
- returnView();
- }
在这里你会发现在ASP.NET MVC下是用[Http*]或[AcceptVerbs(HttpVerbs.*)]特性去实现类似WebForm下的IsPostBack.
2.2 ASP.NET MVC3的数据交互方式种类
A:ASP.NET原生的Request,