使用ProMesh.net创建的Web程序都是基于控制器的(Controller-based)。 这意味着浏览器发起一个请求时,有一个对应的控制器类被实例化,同时有一个或多个控制器的方法被调用,然后决定哪个视图模板将被解析并渲染。渲染的结果将被发送给浏览器客户端。
下面用一个简单的控制器类作为例子:
控制器类Home添加的了两个Attribue,用来定义如何渲染视图模板:[Layout]定义了主模板;[View]定义了内嵌的模板。
下面是控制器类Home对应的两个模板代码:
master.htm:
最后,下面是浏览器中看到内容:
Hello World
对应的Html代码:
下面用一个简单的控制器类作为例子:
1
[Layout("master")]
2
[View("home")]
3
public class Home : PageController
4
{
5
public void Run()
6
{
7
ViewData["HelloText"] = "Hello World!";
8
}
9
}
10
当浏览器请求“http://www.yoursite.com/home.ashx”时,控制器类的Run()方法将被调用。
[Layout("master")] 2
[View("home")]3
public class Home : PageController4
{5
public void Run()6
{7
ViewData["HelloText"] = "Hello World!";8
}9
}10

控制器类Home添加的了两个Attribue,用来定义如何渲染视图模板:[Layout]定义了主模板;[View]定义了内嵌的模板。
下面是控制器类Home对应的两个模板代码:
master.htm:
1
<html>
2
<head><title>My first ProMesh.NET page</title></head>
3
<body>
4
$[_VIEW_]
5
</body>
6
</html>
7
home.htm:
<html>2
<head><title>My first ProMesh.NET page</title></head>3
<body>4
$[_VIEW_]5
</body>6
</html>7

1
<html>
2
<body>
3
$[HelloText]
4
</body>
5
</html>
6
在模板home.htm中,包含了<html>和<body>标签,这是允许的;但不包含这两个标签也没问题,因为master.htm主模板中已经定义这两个标签,只有位于<body></body>标签中的home.htm内容会被加载。
<html>2
<body>3
$[HelloText]4
</body>5
</html>6

最后,下面是浏览器中看到内容:
Hello World
对应的Html代码:
1
<html>
2
<head><title>My first ProMesh.NET page</title></head>
3
<body>
4
Hello World!
5
</body>
6
</html>
7
<html>2
<head><title>My first ProMesh.NET page</title></head>3
<body>4
Hello World!5
</body>6
</html>7



浙公网安备 33010602011771号