转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
使用 ASP.NET Community Starter Kit建造网站         ★★★★

使用 ASP.NET Community Starter Kit建造网站

作者:闵涛 文章来源:闵涛的学习笔记 点击数:4537 更新时间:2009/4/23 10:44:10
       HtmlTextBox:用于FAQ参考

另外,我们还需要5个对应控件用于显示FAQ,如前面写好的FaqAnswer用来显示答案。下面是EditFaq的创建方法示例:

public EditFaq() : base()
{
   SkinFileName = _skinFileName;
   SectionContent = _sectionContent;
 
   this.SkinLoad += new SkinLoadEventHandler(SkinLoadFaq);
   this.Preview += new PreviewEventHandler(PreviewFaq);
   this.Submit += new SubmitEventHandler(SubmitFaq);
}

在该方法中初始化了用于显示的界面文件名和SectionContent属性(后面将有说明),然后把基类中的事件与响应方法建立了关联。

ContentEditPage这一事件响应函数中要包含以下逻辑:装载界面文件,处理预览按钮的点击和提交按钮的点击。

void SkinLoadFaq(Object s, SkinLoadEventArgs e)
{
   txtQuestion = (TextBox)GetControl(e.Skin, "txtQuestion");
 
   // continue initializing all controls with GetControl . . .
}

正如我们在前面章节所讨论的那样,CSK动态装载界面(ASCX)文件显示特定主题。如果你需要通过程序与界面上的控件交互操作,首先要得到该控件实例的引用,如我们编辑FAQ时需要得到TextBox对象中的内容。你可以通过SkinnedComunityControl基类中的GetControl或GetOptionalControl方法来实现,在这里只有显示问题的TextBox需要被引用:

protected override void OnLoad(EventArgs e)
{
   if (!Page.IsPostBack)
   {
      ContentPageID = Int32.Parse(
         Context.Request.QueryString["id"]);
 
      FaqInfo faqInfo =
         (FaqInfo)FaqUtility.GetFaqInfo(
         objUserInfo.Username, ContentPageID);
 
      EnsureChildControls();
      txtAnswer.Text = faqInfo.AnswerText;
      dropTopics.SelectedTopicID = faqInfo.TopicID;
      txtIntro.Text = faqInfo.IntroText;
      txtQuestion.Text = faqInfo.QuestionText;
      txtReference.Text = faqInfo.ReferenceText;
   }
}

当页面加载时,我们需要从数据库中获取已有FAQ的信息。CSK会在查询参数中传递该内容的ID,然后我们取出ID再传给FaqUtility类中的GetFaqInfo方法。一旦得到了FAQ对象,就在页面上显示其信息。

void PreviewFaq(Object s, EventArgs e)
{
   if(objSectionInfo.EnableTopics)
      topicPreview.Name = dropTopics.SelectedItem.Text;
   questionPreview.Text = txtQuestion.Text;
   introductionPreview.Text = txtIntro.Text;
   answerPreview.Text = txtAnswer.Text;
   referencePreview.Text = txtReference.Text;
}

当用户点击预览按钮后,我们要把所有编辑的内容转移到预览控件中,在那里编辑内容按照定义的风格被渲染和显示。使作者能更有效观察和设计页面在实际运行时的外观。ContentEdit类会保证作者看到的页面中有预览面板并观察结果。

void SubmitFaq(Object s, EventArgs e)
{
   if (Page.IsValid)
   {
      // Get Topic
      int topicID = -1;
      if (objSectionInfo.EnableTopics)
         topicID = Int32.Parse(dropTopics.SelectedItem.Value);
 
      FaqUtility.EditFaq(
         objUserInfo.Username,
         objSectionInfo.ID,
         ContentPageID,
         topicID,
         txtQuestion.Text,
         txtIntro.Text,
         txtAnswer.Text,
         txtReference.Text);
 
      Context.Response.Redirect(CommunityGlobals.CalculatePath(
         String.Format("{0}.aspx", ContentPageID)));
   }
}

SumbitFaq事件响应函数通过FaqUtility类把内容更新到数据库中。一旦更新结束,我们发给用户一个提示并离开编辑页面,然后重定向到浏览页面查看已更新的FAQ。

int ContentPageID
   {
      get { return (int)ViewState["ContentPageID"]; }
      set { ViewState["ContentPageID"] = value; }
   }
   TextBox txtQuestion;
   TopicPicker dropTopics;
   TextBox txtIntro;
   HtmlTextBox txtAnswer;
   HtmlTextBox txtReference;
   DisplayTopic topicPreview;

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


[C语言系列]使用C#实现ADSL自动拨号  [Web开发]狂人采集器规则使用详解
[电脑技术]windows7快捷键使用大全  [办公软件]PowerPoint模板使用经验之谈
[办公软件]如何在PowerPoint中使用(插入)Media Player控件播…  [办公软件]如何在PowerPoint中使用(插入、创建)书签及书签的…
[办公软件]如何在PowerPoint中插入(使用)条形码  [办公软件]如何在PowerPoint中制作模板并使用模板
[办公软件]使用PowerPoint制作电子相册教程  [办公软件]可以使用PowerPoint来测试液晶显示器质量
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台