国产成人精品999视频&日本一区二区亚洲人妻精品&久久久精品国产99久久精&99热这里只有成人精品国产&精品国产剧情av一区二区&成人亚洲精品久久久久app&国产精品美女高潮抽搐A片

Categories


Tags


搶先式多線程網(wǎng)絡(luò)蜘蛛

框架 // Copyright(C) 2017 銘飛科技 // #region 版權(quán)信息 /* * 此文件自 Copyright(C) 2008 - 2017 銘飛科技 Classification:無 開源網(wǎng)站:http://www.http://www. coding */ #endregion using System; using System.Data; using System.Web.UI; using System.Web.UI.WebControls; using System.Collections; using System.Collections.Generic; using System.Collections.Specialized; namespace Web.Templates.UI { ///

/// 標(biāo)簽樹控件 /// public class Tree : System.Web.UI.WebControls.TreeView { private string _styleName = ""; /// /// 樣式 /// /// The name of the style. public string StyleName { get { return _styleName; } set { _styleName = value; } } private string _checkedValue = ""; /// /// 默認(rèn)選中當(dāng)前值 /// /// The checked value. public string CheckedValue { get { return _checkedValue; } set { _checkedValue = value; } } private string _checkBoxName = ""; /// /// 復(fù)選框名稱 /// /// The check box name. public string CheckBoxName { get { return _checkBoxName; } set { _checkBoxName = value; } } private int _checkParentType = -1; /// /// /// /// The type of the check parent. public int CheckParentType { get { return _checkParentType; } set { _checkParentType = value; } } private int _checkChildType = -1; /// /// /// /// The type of the check child. public int CheckChildType { get { return _checkChildType; } set { _checkChildType = value; } } private string _showLevel = "999"; /// /// 顯示層級 /// /// The show level. public string ShowLevel { get { return _showLevel; } set { _showLevel = value; } } private string _valueField = "id"; /// /// 編號字段名 /// /// The value field. public string ValueField { get { return _valueField; } set { _valueField = value; } } private string _textField = "title"; /// /// 顯示字段名 /// /// The text field. public string TextField { get { return _textField; } set { _textField = value; } } private string _fatherField = "parentid"; /// /// 父編號字段名 /// /// The father field. public string FatherField { get { return _fatherField; } set { _fatherField = value; } } private TreeNodeBindEventHandler _onBind; /// /// 構(gòu)建事件 /// /// The on bind event. public event TreeNodeBindEventHandler OnBind { add { _onBind += value; } remove { _onBind -= value; } } private DataTable _dataSource; /// /// 數(shù)據(jù)源 /// /// The data source. public DataTable DataSource { get { return _dataSource; } set { _dataSource = value; } } /// /// 綁定數(shù)據(jù) /// public override void DataBind() { this.Nodes.Clear(); this.ShowCheckBox = this.CheckBoxName != "" && this.CheckBoxName != null; if (_dataSource != null) { TreeNode root_node = new TreeNode(); root_node.Value = "-1"; root_node.Text = "根目錄"; Nodes.Add(root_node); List root_list = new List(); for (int i = 0; i < _dataSource.Rows.Count; i++) { TreeNode node = new TreeNode(); DataRow dr = _dataSource.Rows[i]; node.Value = dr[_valueField].ToString(); node.Text = dr[_textField].ToString(); node.SelectAction = TreeNodeSelectAction.None; //node.Depth =int.Parse(_showLevel); if (_onBind != null) { _onBind(node); } if (dr[_fatherField].ToString() == "-1" || dr[_fatherField].ToString() == "0") { Nodes.Add(node); if (node.Value == _checkedValue) { node.Checked = true; } int has = 0; for (int j = 0; j < root_list.Count; j++) { if (root_list[j] == int.Parse(node.Value)) { has = 1; } } if (has == 0) { root_list.Add(int.Parse(node.Value)); } } else { TreeNode father_node = GetNode(root_node, dr[_fatherField].ToString()); if (father_node != null) { father_node.ChildNodes.Add(node); if (node.Value == _checkedValue) { node.Checked = true; } } } } //綁定事件,自動勾選父級節(jié)點(diǎn) if (this.CheckParentType == 0 || this.CheckChildType == 0) { string enterjvice = ""; if (this.CheckParentType == 0) { enterjvice += "FatherChecked"; } if (this.CheckChildType == 0) { enterjvice += "ChildChecked"; } if (enterjvice != "" && this.Nodes.Count > 0) { this.Attributes.Add("onclick", "JscAutoCheckedNode(this,'" + enterjvice + "');"); } } } base.DataBind(); } /// /// 構(gòu)建HTML /// /// The object that receives the server control content. protected override void Render(HtmlTextWriter writer) { string[] style_list = new string[] { "admin_tree", "data_tree", "input_tree", "menu_tree", "popmenu_tree" }; switch (_styleName) { case "menu_tree": this.ShowCheckBox = false; this.CssClass += " menu"; break; case "popmenu_tree": this.

Public @ 2023-02-24 22:25:29

360搜索蜘蛛IP段及蜘蛛ip被攔截的問題解決方法

360搜索蜘蛛的IP段有很多,不同的版本可能會有不同的IP段。一般來說,以下幾個IP段是比較常見的: - 180.76.0.0/16 - 220.181.0.0/16 - 119.63.192.0/21 - 101.226.0.0/15 如果您想限制360搜索蜘蛛的訪問,可以通過防火墻或CMS插件進(jìn)行IP屏蔽。具體方法如下: 1. 防火墻:在防火墻設(shè)置中添加規(guī)則,拒絕360搜索蜘蛛的IP段訪

Public @ 2023-03-30 06:50:24

網(wǎng)站的搜索引擎蜘蛛抓取越多越好?事實(shí)未必

做過SEO或站長的都應(yīng)該知道,網(wǎng)站要想做排名就必須使網(wǎng)站文章先收錄,而網(wǎng)站內(nèi)容收錄由跟搜索引擎蜘蛛的來訪抓取有很大的關(guān)系。搜索引擎蜘蛛,又被稱為網(wǎng)頁爬蟲,網(wǎng)絡(luò)機(jī)器人,在FOAF社區(qū)中間,也經(jīng)常被稱為網(wǎng)頁追逐者,是一種按照一定的規(guī)則,自動的抓取萬維網(wǎng)信息的程序或者腳本。另外它還有一些不常使用的名字,如:螞蟻,自動索引,模擬程序或者蠕蟲。那么,對于一個網(wǎng)站來說,是不是來網(wǎng)站爬行的搜索引擎蜘蛛越多越好呢

Public @ 2015-11-05 16:22:38

搜索引擎蜘蛛劫持是什么?怎么判斷是否被劫持

搜索引擎蜘蛛劫持是seo黑帽中常用的一種手法,需要一定的技術(shù)支持getshell,然后上傳惡意的代碼到網(wǎng)站根目錄下面或者修改網(wǎng)站的一些文件,搜索引擎蜘蛛劫持的原理就是判斷來訪網(wǎng)站的是用戶還是蜘蛛,如果是蜘蛛就推送一個事先準(zhǔn)備的惡意網(wǎng)站,如果是用戶就推送一個正常的網(wǎng)頁1:蜘蛛判斷判斷訪問的是用戶還是蜘蛛,如果是用戶就推送一個正常網(wǎng)頁,如果是蜘蛛就推送一個惡意網(wǎng)頁,判斷方式有兩種,一種是判斷蜘蛛的UA

Public @ 2017-05-29 16:22:36

apache、iis6、ii7獨(dú)立ip主機(jī)屏蔽攔截蜘蛛抓?。ㄟm用vps云主機(jī)服務(wù)器)

* Apache:通過在網(wǎng)站主機(jī)的.htaccess文件中添加下面一行代碼即可實(shí)現(xiàn): `SetEnvIfNoCase User-Agent "bot|crawl|spider|Yahoo|ia_archiver| other_spider|Googlebot" bad_bot` * IIS6:打開IIS管理器,右鍵點(diǎn)擊網(wǎng)站,點(diǎn)擊“屬性”,然后選擇“文件夾”,點(diǎn)擊高級,在高級屬性中勾選

Public @ 2023-03-04 13:00:19

更多您感興趣的搜索

0.441744s