温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:SpaceBuilder v1.1源代码
1//------------------------------------------------------------------------------ 2
// <copyright company="Tunynet"> 3
// Copyright (c) Tunynet Inc. All rights reserved. 4
// </copyright> 5
//------------------------------------------------------------------------------ 6
7
8
using System; 9
using System.Collections.Generic; 10
using System.Text; 11
using SpaceBuilder.Controls.BaseClasses; 12
using System.Web.UI.WebControls; 13
using SpaceBuilder.Posts.Components; 14
using SpaceBuilder.Components; 15
16
namespace SpaceBuilder.Blogs.Controls 17
{ 18
/// <summary> 19
/// 主站博客搜索模块 20
/// </summary> 21
public class ChannelBlogSearchBlock : TemplatedWebControl 22
{ 23
/// <summary> 24
/// 控件初始化时,父类会调用这个方法 25
/// </summary> 26
/// <param name="e"></param> 27
protected override void OnInit(EventArgs e) 28
{ 29
if (SkinName == null) 30
ExternalSkinFileName = "Blogs/Skin-ChannelBlogSearchBlock.ascx"; 31
else 32
ExternalSkinFileName = SkinName; 33
34
base.OnInit(e); 35
} 36
37
/// <summary> 38
/// 控件被加载时,会先调用这个方法 39
/// </summary> 40
/// <param name="e"></param> 41
protected override void OnLoad(EventArgs e) 42
{ 43
base.OnLoad(e); 44
EnsureChildControls(); 45
46
if (!Page.IsPostBack) 47
{ 48
PostFullTextQuery query = new PostFullTextQuery(); 49
query.ConvertFromQueryString(); 50
if (query.FullTextSearchType == FullTextSearchType.Blog) 51
postKeyword.Text = query.PostKeyword; 52
} 53
} 54
55
Child Controls 62
63
/// <summary> 64
/// 加载子控件,父类加载皮肤文件时会调用这个方法 65
/// </summary> 66
protected override void AttachChildControls() 67
{ 68
postKeyword = FindControl("PostKeyword") as TextBox; 69
searchButton = FindControl("SearchButton") as Button; 70
searchButton.Click += new EventHandler(SearchButton_Click); 71
} 72
73
/// <summary> 74
/// 搜索按钮点击事件处理程序 75
/// </summary> 76
/// <param name="sender"></param> 77
/// <param name="e"></param> 78
protected void SearchButton_Click(object sender, EventArgs e) 79
{ 80
PostFullTextQuery query = new PostFullTextQuery(); 81
query.FullTextSearchType = FullTextSearchType.Blog; 82
query.PostKeyword = postKeyword.Text; 83
string searchPostsUrl = Globals.FullPathForSearchSite(ChannelUrls.Instance().BlogSearchResults() + "?" + query.ConvertToQueryString()); 84
Context.Response.Redirect(searchPostsUrl, true); 85
} 86
87
} 88
89
} 90
91





}