初探ASP NET MVC Web Application
1. 使用Visual Studio 2008,下载ASP.NET MVC Framework
2. 默认的ASP.NET MVC Project包括6个目录
Controls – 放置Controller 类,处理URL 请求。
Models – 放置业务实体类,表示和操作数据。
Views – 放置UI 模板文件,负责展示输出结果。
(MVC主要的目录)
Scripts – 放置Javascript 类库文件和.js 文件。
Contents – 放置CSS 和图像文件,以及其他非动态的、非Javascript 文件。
App_Data – 放置数据库文件。
Of course, you can change this folder structure, ie.Model into a separate dll.
3.Controllers and Views.
传统的Web Framework,都是把URL映射为文件(*.aspx).而MVC则是把URL映射到Controller Class的Method上。
Controller Class负责处理HTTP Request,检索用户输入,然后决定如何给客户响应。
4.如何理解ASP.NET MVC 的Routing
可以定制选择哪个Controller类,以及哪个方法,以及从URL/Querystring自动得到参数信息,并且传递给Method,并且路由信息
也是通过SEO(Search Engine Optimization)。
默认的路由信息在Global.asax的RegisterRoutes();
{
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL w/ params
new { controller="Home", action="Index",id="" } // Param defaults
);
}
URL的格式为:/{controller}/{action}/{id}.Action是Public Method.Controller Class, ID是Action的参数。
5. 把Controller和View分离,最大的好处是可以对应用程序的逻辑进行Unit testing.
public class XXXController : Controller
{
public ActionResult Index()
{
var dinners = GetDinners();
return new View("Index", dinners);
}
}
View方法的原型如下:
ViewResult View(string viewName, object model);
第一个参数是view模板文件,第二个参数是传递数据的Model 对象。
6. 在View中创建Hyper Link,两种方法,一种是传统的
<a href="Dinners/Details<%=dinner.id%">
第二种是ASP.NET MVC内置的html.ActionLink()方法
<%= Html.ActionLink(dinner.Title, "Details", new { id=dinner.DinnerID }) %>
第一个参数显示的内容,第二个参数是Controller的Action 方法,第三个参数是Action的参数。
相关文档:
前段时间读了不少关于MVC的文章,试着在ASP中应用了一下,发现对于小程序,代码量会大幅度增加,但是逻辑清晰,数据封装很合理,以前需要仔细规划的代码复用竟然成了理所当然的事情。
所谓MVC,即Model(模型),View(视图),Control(控制)三层架构。各部分各司其职,Model即底层构架,包含与数据库连接的部分,View ......
这类问题通常在整合或二次开发ASP网站时遇到。按常理来说,浏览器的Cookie存放在客户端,实际上与服务端使用什么语言无关,但我们在实际操作过程中,总会遇到一些意想不到的问题。
1. 当ASP写的Cookie的Key中带有下划线,例如我们在ASP中这样设置Cookie:
......
服务器端组件
首先,服务器端的组件要有别于客户端的组件.客户端的组件是通过网络传输,依*HTML来起作用.而且只能在IE上有用.但是服 务器端的组件是运行在服务器端,它在服务器上执行各种操作.因此,所有的浏览器都能享用,它依*的是服务器而不是浏览器.
当IIS被请求执行一个ASP程序,它首先会在ASP文件中找到〈%%>标签之间 ......
----INDEX----
1. soap请求方式
2. post请求方式
3. SHOWALLNODE函数(关于节点各属性和数据显示)
---------------------
一.SOAP请求示例
下面是一个 SOAP 请求示例。所显示的占位符需要由实际值替换。
POST /WebService1/UserSignOn.asmx HTTP/1.1
Host: 192.100.100.81
Content-Type: text/xml; chars ......
'显示"上一页 下一页":链接地址,总数,页数,是否显示总数,是否用下拉列表跳转,单位
Public Function PageControl(iCount,pagecount,page,table_style,font_style,colspan)
'生成上一页下一页链接
action = "http://" & Request.ServerVariables("HTTP_HOST") & Request. ......