N2CMS 实践之路 Part.3 第一个页
来源:互联网 发布:python 图形界面开发 编辑:程序博客网 时间:2024/06/04 08:12
为了加速开发过程,N2很贴心地提供了snippets和templates,配置如下:
1、代码提示路径 [Documents]\Visual Studio 20xx\Code Snippets\Visual C#\My Code Snippets,触发条件n2prop
2、模版路径 [Documents]\Visual Studio 2008\Templates\ItemTemplates\Visual C#
3、智能感知 /bin/N2.xml
完成后,打开我们的项目,然后选择新建项,Mvc的例子可能会略有不同,不过大同小异。
这里要选择名为N2 Page Template的模版,新建后会自动在Items文件夹和Ui文件夹下创建内容项和相关的视图,例如录入CSDNPage.aspx,其中99%的代码都是自动生成,我只是将Text文字改为CSDNText而已。
这时,在Items文件夹下的CSDNPage.cs源码如下:
using N2;
using N2.Web;
using N2.Details;
namespace GC2Portal.Items
{
/// <summary>
/// This class represents the data transfer object that encapsulates
/// the information used by the template.
/// </summary>
[PageDefinition("CSDNPage", TemplateUrl = "~/UI/CSDNPage.aspx")]
[WithEditableTitle, WithEditableName]
public class CSDNPage : ContentItem
{
[EditableFreeTextArea("CSDNText", 100)]
public virtual string CSDNText
{
get { return (string)(GetDetail("CSDNText") ?? string.Empty); }
set { SetDetail("CSDNText", value, string.Empty); }
}
}
}
在UI目录下的CSDNPage.aspx源码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CSDNPage.aspx.cs" Inherits="GC2Portal.UI.CSDNPage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>CSDNPage</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<n2:Display PropertyName="CSDNText" runat="server" />
</div>
</form>
</body>
</html>
后台代码:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace GC2Portal.UI
{
public partial class CSDNPage : N2.Web.UI.ContentPage<Items.CSDNPage>
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
}
设计代码:
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace GC2Portal.UI {
public partial class CSDNPage {
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
}
}
- N2CMS 实践之路 Part.3 第一个页
- N2CMS 实践之路 Part.1 前期准备
- N2CMS 实践之路 Part.2 安装过程
- N2CMS 实践之路 Part.4 管理后台
- N2CMS 实践之路 Tip.3 自定义控件如何添加
- N2CMS 实践之路 Tip.1 重命名的类报错怎么办
- N2CMS 实践之路 Tip.2 Nuget下载的包如何装
- OpenGL实践3之第一个着色器程序2
- OpenGL实践之第一个窗口
- OpenGL实践2之第一个三角形
- 【实践】第一个驱动
- 第一个EventBus实践
- OpenGL实践3之第一个着色器程序(1)
- 第一个GDAL代码实践
- Unity 3d Shader实践 —— 第一个Shader
- Windows Via C/C++ Part Ⅰ Chapter4: 进程—第一个Windows程序(3)
- Android之路-第一个android应用程序
- web前端之路 第一个脚印
- Android记录5--关于Android云测试的小思考
- Apache Derby入门
- Entity Frame 关系
- UVA 11552 Fewest Flops
- VMWare workstation 6下SuSE 10安装VMTools步骤(转)
- N2CMS 实践之路 Part.3 第一个页
- openoffice+swftools,客户端代码
- 最无私的Android资料(书籍+代码)分享-不要积分(求置顶)
- .NET C# 不重复随机数的另类生成方式
- 禁用任务管理器(修改注册表与设置键盘钩子)
- “espcms开启静态化,get name=list的第一条数据静态地址的生成不完整”解决办法
- 面向对象设计原则
- 4.10 数字哑谜和回文
- Ubuntu建立本地源实用案例