ASP.NET MVC 2 模版系列2: ModelMetadata
同样是一篇转帖的文章,
原文: http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-2-modelmetadata.html
着重介绍了ASP.NET MVC2 里面的 ModelMetadata 类
ASP.NET MVC 2 Templates, Part 2: ModelMetadata
Series Index
Part 1: Introduction
Part 2: ModelMetadata
Understanding Your Model
One
of the classes we introduced with ASP.NET MVC 2 is ModelMetadata. This
class is designed to tell you interesting things about the objects you
want to display or edit. While we commonly use them when writing
templates, this metadata is actually always available, even when you’re
not in a template.
What is a Model?
When it comes to ModelMetadata, the definition of “model” is probably a bit blurrier than you’re used to.
Let’s say for instance that you have the model from part 1 of this blog series:
view sourceprint?
1.public class Contact {
2. public string FirstName { get; set; }
3. public string LastName { get; set; }
4. public int Age { get; set; }
5.}
You created a strongly-typed view for this model, and if inside the
view you access ViewData.ModelMetadata, then the model at this point is
the Contact object.
However, through this metadata object, you can also get metadata
about all of its properties. This returns a collection of ModelMetadata
objects, one for each of the properties. If we were to do this with our
Contact object, we’d end up with 3 new metadata objects, one each for
FirstName, LastName, and Age. When you’re looking at the model metadata
for FirstName, the model type is String (and the container type is
Contact). In this way, you can even recursively dive through several
layers of complex objects via properties.
How Do I Get One?
Use the one for the current model.
The most common way to get one is to access the
ModelMetadata property on ViewData as shown above. This metadata object
describes the ViewData&
相关文档:
前台:
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
......
影响ASP.Net应用性能的配置
1、删除不必要的HttpModule,每增加一个HttpModule,每个请求处理就多一点开销。
如:
<httpModules>
& ......
ASP.NET编程规范之命名规范都有哪些呢?具体又有什么内容呢?让我们开始吧:
ASP.NET编程规范之命名规范1.按钮ID命名:
btn+按钮操作功能(如btnSave)
ASP.NET编程规范之命名规范2.其它控件:
I.与数据操作相关:其ID<.SPAN>为相应的字段名称,如果有多个控件对应一个字段,则按以下规范命名:
字段名+&rdqu ......
客户端传送数据到服务器端有三种方法:
1.form
2.querystring
3.cookie
利用这些方式取得的数据在服务器端都是字典集合,如果要精确取到某个集合的值,则直接使用对应的集合的名称,三种方式对应的集合如下:
1.form:request.form
2.querystring:request.querystring
3.cookie:request.cookie
利用request.p ......
ASP.NET打开新窗口方法一:
Response.Write(" <script language=\"javascript\">window.open('aaa.aspx','新窗口,\"toolbar=yes,location=no,directories=yes,status=yes,menubar=yes,resizable=yes,scrollbars=yes\"); </script>");
这种方式代码每次是生成在页面最顶端
ASP.NET打开新窗口方法二:
stri ......