打印本文 打印本文 关闭窗口 关闭窗口
使用 ASP.NET Community Starter Kit建造网站
作者:武汉SEO闵涛  文章来源:敏韬网  点击数6105  更新时间:2009/4/23 10:44:10  文章录入:mintao  责任编辑:mintao
   END
ELSE
   PRINT ''''WARNING: The FAQ Module has already been registered.''''

由于CSK会缓存Community_NamePages的数据所以只会读取数据一次。如果你在这些表中作了修改,需要重新启动Web程序来使修改生效。

这个维护的存储过程还需要注册一些新模块重要使用的静态显示页面,这里包括新增和编辑的页面,并且你必须使用与你将要创建的ASPX文件完全相同的名称作为注册信息。

下面是代码中的相关部分:

IF NOT EXISTS (SELECT * FROM Community_NamedPages
               WHERE namedPage_Path=''''/Faqs_AddFaq.aspx'''')
   BEGIN
   INSERT Community_NamedPages
   (
      namedPage_name,
      namedPage_path,
      namedPage_pageContent,
      namedPage_title,
      namedPage_description,
      namedPage_sortOrder,
      namedPage_isVisible,
      namedPage_menuID
   )
   VALUES
   (
      ''''AddFaq'''',
      ''''/Faqs_AddFaq.aspx'''',
      ''''ASPNET.StarterKit.Communities.Faqs.AddFaq'''',
      ''''Add FAQ'''',
      ''''Enables users to add a new FAQ'''',
      0,
      1,
      0
   )
   END
ELSE
   PRINT ''''WARNING: /Faqs_AddFaq.aspx has already been registered
          as a NamedPage.''''

其中namedPage_pageContent参数是CSK调用该静态页面时要使用的code-behind类的完整路径:ASPNET.StarterKit.Communities.Faqs.AddFaq。

FAQ组件

FaqInfo

所有FAQ模块中的C#代码都将放在Engine\Modules\Faqs目录中。首先在一个Components的目录内增加helper类。每个CSK的模块都应该放在不同的名称空间,即在ASPNET.StarterKit.Communities后再加上模块名称作为限定。

using System;
using System.Data.SqlClient;
namespace ASPNET.StarterKit.Communities.Faqs
{
   public class FaqInfo : ContentInfo
   {
      public FaqInfo(SqlDataReader dr) : base(dr)
      {
         if(dr["Faq_Answer"] != DBNull.Value)
         {
            _answerText = (string)dr["Faq_Answer"];
         }
         if(dr["Faq_Reference"] != DBNull.Value)
         {
            _referenceText = (string)dr["Faq_Reference"];
         }
      }
      public string AnswerText
      {
         get { return _answerText; }
         set { _answerText = value; }
      }
      public string ReferenceText
      {
         get { return _referenceText; }
         set { _referenceText = value; }
      }
      public string QuestionText
      {
         get { return base.Title; }
         set { base.Title = value; }
      }
      public string IntroText
      {
         get { return base.BriefDescription; }
         set { base.BriefDescription = value; }
      }
      

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ...  下一页 >> 

打印本文 打印本文 关闭窗口 关闭窗口