- 浏览: 46815 次
- 性别:
- 来自: 南京
最新评论
文章列表
一共有 5 个控制器。
1. ContentCotroller
1: [Controls(typeof(AbstractPage))]
<!--CRLF-->
2: public class ContentController : ContentController
<!--CRLF-->
3: {
<!--CRLF-->
4: }
<!--CRLF-->
Controls特性指定控制器要使用哪种类型的内容项(模型),这里指定的是AbstractPage,而不是ContentPage,说明它可以使用任何一种 ...
- 2011-03-08 11:05
- 浏览 442
- 评论(0)
研究一下模型类,总共有6个类,它们都表示所包含的内容。
1. AbstractPage
1: [WithEditableTitle, WithEditableName]
<!--CRLF-->
2: public abstract class AbstractPage : ContentItem, INode
<!--CRLF-->
3: {
<!--CRLF-->
4: public string PreviewUrl
<!--CRLF-->
- 2011-03-08 09:42
- 浏览 338
- 评论(0)
这个示例用到了N2框架和管理界面,这样就不用对数据的存储和管理发愁了(都交给N2了),剩下的工作就是利用N2框架来快速地搭建前台的页面。实际上既可以用WebForms来实现这些页面,也可以使用MVC 2(MVC 3好像还不支持)来实现,这个例子使用的就是后者。N2CMS提供了其他的示例和模板来帮助我们搭建更好的网站,不过从一个简单的例子来开始可以更轻松的学习和使用N2CMS。
从N2CMS的角度来看,所有的具体内容(即要显示在页面上的信息)都是一种内容项(ContentItem)的实例,不同的内容项用于存储不同格式的内容,比如新闻容器项要能获取包含的新闻的列表,而新闻项则用来存储和提供一条具体 ...
- 2011-03-07 23:24
- 浏览 432
- 评论(0)
聚集函数
avg(X) count(X) count(*) group_concat(x) 返回由所有X的非空值连接成的字符串。如果Y存在则作为分隔符。 group_concat(x,y) max(x) min(x) sum(x) total(x)
ALTER TABLE
表重命名 添加新列 不支持列重命名、移除列、添加或移除约束
ANALYZE ATTACH DA ...
- 2011-03-06 14:19
- 浏览 335
- 评论(0)
下面的列表是SQLite还未实现的SQL92特性,列表的顺序暗示了特性可能会添加到SQLite的时间,列表顶部的特性可能会在未来实现,而列表底部的特性暂时还没有实现的计划。
RIGHT和FULL OUTER JOIN。左外联结已经实现了,但右外联结和全外联结还没实现。 完整的ALTER TABLE支持。只有RENAME TABLE和ADD COLUMN是支持的,其他类型的ALTER TABLE操作,如DROP COLUMN,ALTER COLUMN,ADD CONSTRAINT等等是被忽略的。 完全的触发器支持。FOR EACH ROW触发器是支持的,但FOR EACH ST ...
- 2011-03-06 13:36
- 浏览 394
- 评论(0)
这里只介绍Java平台和.NET平台的SQLite Wrappers: Java
sqlite4java。Java wrapper for SQLite API(非JDBC),链接:http://code.google.com/p/sqlite4java ,教程(使用JDBC驱动程序连接Java到SQLite):http://www.javaworkspace.com/connectdatabase/connectSQLite.do javasqlite。Java wrapper incl. JDBC driver for SQLite。链接:http://www.ch-werne ...
- 2011-03-06 13:22
- 浏览 543
- 评论(0)
支持事务(ACID),即使系统崩溃或断电 零配置,无须安装或管理 实现了大部分SQL92 全部数据库存在在一个跨平台的磁盘文件中 支持TB大小的数据库,GB大小的字符串和blobs 对于大多数普通操作,比流行的C/S数据库引擎更快 简单,易于使用的API 用ANSI-C编写,包含TCL绑定。对其他数十种语言的绑定分别可用 注释良好的源代码 可作为单个ANSI-C源代码文件 自包含,没有外部依赖 跨平台:Unix(Linux和Mac OS X),OS/2,和Windows(Win32和WinCE) 源 ...
- 2011-03-06 12:58
- 浏览 459
- 评论(0)
(1) 如何创建自动增长字段? 整型主键列(INTEGER PRIMARY KEY),如果向主键插入NULL,那么NULL会自动转换成一个比插入前此列最大值大1的整数,如果达到最大值,则随机选择未使用的值)。 如果想让生成的主键值不是原先删除过的值,则需要在定义主键时添加AUTOINCREMENT关键字。 (2)SQLite支持哪些数据类型? SQLite使用动态类型。内容可以存储为INTEGER,REAL,TEXT,BLOB,或NULL。 (7)如何列出数据库中所有的表/索引 在命令行中输入“.tables”可获取所有的表的列表,输入“.schema”可查看完整的数据库模式(sch ...
- 2011-03-06 06:57
- 浏览 472
- 评论(0)
本文是阅读Orchard在线文档的笔记,原文见:http://www.orchardproject.net/docs/Building-a-hello-world-module.ashx,虽然对MVC知之甚少、对Razor还比较陌生,学习Orchard也刚刚开始,但也要坚持不懈的学习下去。
HelloWorld模块是一个非常简单的Orchard模块,其功能就是在浏览器里显示一段欢迎文本,所以只需要定义控制器和视图,不需要定义模型。
从ASP.NET MVC的角度看,模型是作为MVC Areas实现的。在MVC中Areas是包含许多功能的子站点,Areas彼此之间是相对隔离的。一个Orchar ...
- 2011-02-25 15:58
- 浏览 660
- 评论(0)
原文见:http://elegantcode.com/2010/10/22/basic-javascript-part-1-functions/,这里只是阅读摘要。 1. 自执行函数(Self-executing functions) 这样的函数在定义后会立即被调用执行。示例: ( function() { alert("Hellow Mars"); } ) () 这基本上就是 ...
- 2011-01-23 21:42
- 浏览 461
- 评论(0)
这个文章标题够长的,原文见:http://weblogs.asp.net/scottgu/archive/2011/01/18/running-an-asp-net-mvc-3-app-on-a-web-server-that-doesn-t-have-asp-net-mvc-3-installed.aspx。这里只做个总结。 只要服务器支持 .NET 4,那么就能够在上面生成和部署 ASP.NET MVC 3 应用程序。 方法一(正常方法):安装 ASP.NET MVC 3 到机器上,程序集会安装到 GAC 中,机器上所有的 Web 项目都可以引用/使用 GAC 中的这些程序集 方法二: ...
- 2011-01-20 19:25
- 浏览 539
- 评论(0)
ASP.NET MVC 3 已经正式发布了,现在估计许多人都在拼命学,我也不能例外,刚刚看到了一篇文章,介绍了三个非常有用的方法:RenderBody,RenderPage和RenderSection,现在自己再总结下。 1. RenderBody 在Razor引擎中没有了“母版页”,取而代之的是叫做“布局”的页面(_Layout.cshtml)放在了共享视图文件夹中。在这个页面中,会看到标签里有这样一条语句: @RenderBody() 其实它的作用和母版页中的<contentplaceholder>服务器控件类似,当创建基于此布局页面的视图时,视图的内容会和布局页面合并, ...
- 2011-01-15 23:23
- 浏览 994
- 评论(0)
7. 扩展方法
扩展方法就是给一个既有的类添加新的方法,这在以前是不可思议的事情,在C#3.0里却是很简单:
public static class MethodsExtentions
{
public static double Distance(this Point pointA, point pointB)
{
return Math(Sqrt(Math.Pow(pointA.X – pointB.X, 2) + Math.Pow(pointA.Y – pointB.Y, 2));
}
}
现在这个Distance方法就附加到Point类上了,记住这个方 ...
- 2011-01-06 17:30
- 浏览 463
- 评论(0)
1. 隐式类型
以前这样声明变量:
string str = "Hello World";
现在可以写成:
var str = "Hello World";
str仍然被认为是string类型,因为C#编译器根据初始值可以判断出来。所以这种写法要求在声明变量时必须提供初始值。下面是数组的写法:
var points = new[] {new Point(1, 2), new Point(3, 4)};
注意数组的成员类型必须相同,否则编译不会通过。
2. 自动属性
对于简单的对象属性,不需要为get和set写无聊的代码了:
public ...
- 2011-01-06 15:22
- 浏览 373
- 评论(0)
晚上看了两篇ASP.NET MVC的入门教程,一篇是中文的(在这里),似乎讲的是早期的第一版,另一篇是英文的(在这里),讲的是第二版。虽然对MVC不怎么了解,但是看完这两篇文章后也有一个简单的理解了,感觉挺有意思的,虽然做起来和以前的Web Form迥然不同。 首先是页面好像返璞归真了,似乎从复杂的Web Form又回到了古老的ASP页面,我在教程里看到页面里又开始大量使用了,没有了复杂的Web服务器控件,看起来非常的简洁。 然后是页面文件名不显示在地址栏了,而是通过控制器和动作方法来获取到页面,页面变成了“视图”。 最后是数据不是直接获取了,而是通过“模型”来得到了,而模型中的数据是由控 ...
- 2011-01-01 22:45
- 浏览 544
- 评论(0)