-
几个技术点:
1、Repeater绑定
2、字段排序
-
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ZL.aspx.cs" Inherits="ZL"
ValidateRequest="false" %>
<%@ Register Src="UserControls/LeftOne.ascx" TagName="LeftOne" TagPrefix="uc1" %>
<%@ Register Src="UserControls/LeftCYXZ.ascx" TagName="LeftCYXZ" TagPrefix="uc1" %>
<%@ Register Src="UserControls/LeftCYLJ.ascx" TagName="LeftCYLJ" TagPrefix="uc1" %>
<%@ Register Src="UserControls/WebTop.ascx" TagName="WebTop" TagPrefix="uc1" %>
<%@ Register Src="UserControls/WebFooter.ascx" TagName="WebFooter" TagPrefix="uc1" %>
<!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>
<title>
<%=WebPageTitle %></title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<link href="<%=strPhyPath %>/css/lab.css" rel="stylesheet" type="text/css" />
<link href="<%=strPhyPath %>/css/HrefItem.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<uc1:WebTop ID="WebTop1" runat="server" />
<table width="1200" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="240" valign="top">
<table width="100%" height="50" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="5">
</td>
</tr>
<tr>
<td height="2" bgcolor="#0078D7">
</td>
</tr>
<tr>
<td>
<img src="<%=strPhyPath %>/img/fx.jpg" width="240" height="11" alt="" />
</td>
</tr>
<tr>
<td bgcolor="#0078D7">
<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="40" colspan="2" bgcolor="#0078D7" class="STYLE1">
分类
</td>
</tr>
<asp:Repeater ID="rp_Nav" runat="server">
<ItemTemplate>
<tr>
<td width="10%" height="40" bgcolor="#0078D7">
<img src="<%=strPhyPath %>/img/dot.jpg" width="3" height="3" />
</td>
<td width="90%" height="40" bgcolor="#0078D7" class="STYLE2">
<a href="<%#DBH.ConvertUrl(Eval(NI._newsSort.ListUrl)) %>" title="<%#DBH.ConvertObj(Eval(NI._newsSort.TheName)) %>"
target="<%#DBH.GetTarget(Eval(NI._newsSort.LinkTarget)) %>" class="NewsHrefSTYLE2">
<%#DBH.HighLighObj(Eval(NI._newsSort.TheName),Eval(NI._newsSort.ID), curNewSortId)%></a>
</td>
</tr>
<tr>
<td height="2" colspan="2" bgcolor="#0078D7">
<img src="<%=strPhyPath %>/img/line2.jpg" width="212" height="2" />
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
<tr>
<td height="10" colspan="2" bgcolor="#0078D7">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td height="6">
</td>
</tr>
<tr>
<td>
<!-- 常用链接 -->
<uc1:LeftCYLJ ID="LeftCYLJ1" runat="server" />
</td>
</tr>
<tr>
<td height="6">
</td>
</tr>
<tr>
<td>
<!-- 常用下载 -->
<uc1:LeftCYXZ ID="LeftCYXZ1" runat="server" />
</td>
</tr>
</table>
</td>
<td width="20">
</td>
<td valign="top">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="2">
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="9" height="40" class="STYLE3">
</td>
<td height="40" class="STYLE3">
当前位置: <a href="<%=WB.IndexUrl %>" class="NewsHrefSTYLE3" target="_self">首页</a><%=newsSortNav%></h1>
</td>
<td height="40" class="STYLE3" align="right" colspan="2">
<asp:TextBox ID="txt_Search" runat="server" CssClass="textbox_search"></asp:TextBox>
<asp:Button ID="btn_Search" Text="搜索" runat="server" OnClick="btn_Search_Click" OnClientClick="OnJsSearchClick(); return false;" />
</td>
</tr>
<tr>
<td colspan="4" class="STYLE3">
<img src="<%=strPhyPath %>/img/l7.jpg" width="941" height="2" alt="" />
</td>
</tr>
<tr>
<td height="5" colspan="4" align="left">
</td>
</tr>
<tr>
<td colspan="4" align="left">
<table class="DL">
<tr class="DL">
<th class="DL" style="width: 40px;">
序号
</th>
<th class="DL">
<asp:Literal runat="server" ID="title_TheName" Text="专利名称"></asp:Literal>
</th>
<th class="DL">
<asp:Literal runat="server" ID="title_TheCode" Text="专利号"></asp:Literal>
</th>
<th class="DL" style="min-width: 95px;">
<asp:Literal runat="server" ID="title_SQRQ" Text="授权日期"></asp:Literal>
</th>
<th class="DL" style="min-width: 85px;">
<asp:Literal runat="server" ID="title_FMR" Text="发明人"></asp:Literal>
</th>
</tr>
<asp:Repeater runat="server" ID="rp_List">
<ItemTemplate>
<tr class="DL">
<td class="<%#DataBindGetTdClass(Container.ItemIndex) %>">
<asp:Literal ID="lt_Seq" runat="server"></asp:Literal>
</td>
<td class="<%#DataBindGetTdClass(Container.ItemIndex) %>">
<asp:Literal ID="lt_TheName" runat="server"></asp:Literal>
</td>
<td class="<%#DataBindGetTdClass(Container.ItemIndex) %>">
<%#Eval(BNI.TheCode)%>
</td>
<td class="<%#DataBindGetTdClass(Container.ItemIndex) %>">
<%#Eval(BNI.SQRQ)%>
</td>
<td class="<%#DataBindGetTdClass(Container.ItemIndex) %>">
<%#Eval(BNI.FMR)%>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
</td>
</tr>
<tr style="display: none;">
<td colspan="4" align="left">
<asp:Literal ID="lt_TheContent" runat="server"></asp:Literal>
</td>
</tr>
<tr>
<td height="40" colspan="4" align="left">
<wuqi:AspNetPager CssClass="paginator" CurrentPageButtonClass="cpb" ID="detailAspNetPager"
PageSize="10" runat="server" RecordCount="0" FirstPageText="首页" LastPageText="尾页"
NextPageText="下一页" PrevPageText="上一页" PageIndexBoxStyle="width:50px" ShowPageIndexBox="Auto"
PageIndexBoxType="DropDownList" TextBeforePageIndexBox="转到第" TextAfterPageIndexBox="页"
UrlPaging="true" UrlPageSizeName="pagesize" UrlPageIndexName="pageindex" Width="100%"
LayoutType="Table" ShowNavigationToolTip="true" CustomInfoHTML="" ShowDisabledButtons="true"
AlwaysShow="true" ShowCustomInfoSection="Never" PagingButtonSpacing="8px">
</wuqi:AspNetPager>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2">
</td>
</tr>
</table>
</td>
</tr>
</table>
<table width="1200" height="10" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="10">
</td>
</tr>
</table>
<uc1:WebFooter ID="WebFooter1" runat="server" />
</form>
</body>
</html>
<script language="javascript" type="text/javascript">
function OnJsSearchClick() {
var kwCtrl = document.getElementById("<%=txt_Search.ClientID %>");
var kw = kwCtrl.value;
var goUrl = "<%=preUrl %>" + escape(kw);
window.location.href = goUrl;
}
// 排序 //
function OnJsOrderByClick(dataColumnName, dataColumnOrder) {
var goUrl = "<%=orderUrl %>" + dataColumnName + "." + dataColumnOrder;
window.location.href = goUrl;
}
</script>
-
using System;
using System.Collections.Generic;
using System.Web.UI.WebControls;
using SlowX.DAL.Helpers;
using SlowX.Functions.Functions;
using SlowX.NewsItem.Items;
using System.Text;
using SlowX.Core.ICoreClasses;
using SlowX.Core.Model;
using ZJL.LabLib.Classes;
public partial class ZL
:
WebPageBase
{
/// <summary>
///
/// </summary>
internal class CtrlIndex
{
/// <summary>
///
/// </summary>
public readonly static CtrlIndex CI = new CtrlIndex();
/// <summary>
///
/// </summary>
public CtrlIndex()
{
}
/// <summary>
///
/// </summary>
public string lt_Seq
{
get
{
return "lt_Seq";
}
}
/// <summary>
///
/// </summary>
public string lt_TheName
{
get
{
return "lt_TheName";
}
}
}
/// <summary>
///
/// </summary>
public ZJL.LabLib.DataColumnNameInfo.LAB.UTB_ZJL_LAB_ZL BNI
{
get
{
return ZJL.LabLib.DataColumnNameInfo.LAB.UTB_ZJL_LAB_ZL.instance;
}
}
/// <summary>
///
/// </summary>
/// <returns></returns>
protected string CurPageNameGet()
{
return "ZL.aspx";
}
// 搜索的前缀 //
protected string preUrl = null;
// 排序的URL //
protected string orderUrl = null;
/// <summary>
/// 新闻代号
/// </summary>
protected const string CTheCode = "专利";
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btn_Search_Click(object sender, EventArgs e)
{
}
/// <summary>
///
/// </summary>
protected NewsSortBasicItem newsSortItem
=
null;
/// <summary>
/// 当前新闻栏目ID
/// </summary>
public long curNewSortId = 0;
/// <summary>
/// 显示图片
/// </summary>
public string newsSortHeadImg = "";
/// <summary>
/// 内容区导航
/// </summary>
public string newsSortNav = "";
/// <summary>
///
/// </summary>
protected string CurPageTitle = "";
/// <summary>
/// 获得专利
/// </summary>
/// <param name="xdbHelper"></param>
/// <returns></returns>
protected string ToZL(DBHelper xdbHelper)
{
// 排序方式 //
OrderInfo orderI = OrderInfoCreate();
string kw = Request.QueryString["kw"];
if (kw != null)
{
kw = kw.Trim();
kw = Server.UrlDecode(kw);
}
txt_Search.Text = kw;
int pageIndex = HttpContextSlowXFunctions.GetIntParameter("pageindex", 1);
if (pageIndex >= 1)
pageIndex = pageIndex - 1;
preUrl = CurPageNameGet() + "?";
if (orderI.IsOrder())
{
preUrl += "order=" + orderI.ToOrderUrlParam() + "&";
}
preUrl += "kw=";
orderUrl = CurPageNameGet()+"?";
if (kw != null && kw.Length > 0)
{
orderUrl += "kw=" + Server.UrlEncode(kw) + "&";
}
if (pageIndex != 0)
{
orderUrl += "pageindex=" + (pageIndex + 1).ToString() + "&";
}
orderUrl += "order=";
// StringBuilder theResult = new StringBuilder();
bool bIsCreate = true;
if (xdbHelper == null)
{
xdbHelper = SlowX.DAL.Helpers.DBHelper.CreateDBHelper();
}
else
{
// 没有打开链接 //
bIsCreate = xdbHelper.IsNotOpen();
}
try
{
if (bIsCreate)
xdbHelper.OpenDBHelper();
ZJL.LabLib.Business.LAB.UTB_ZJL_LAB_ZL
bll
=
ZJL.LabLib.Business.LAB.UTB_ZJL_LAB_ZL.instance;
ZJL.LabLib.Entity.LAB.UTB_ZJL_LAB_ZL
entity
=
new ZJL.LabLib.Entity.LAB.UTB_ZJL_LAB_ZL();
LiteralSetOrderTitle(title_FMR, orderI, entity._FMR._Name);
LiteralSetOrderTitle(title_SQRQ, orderI, entity._SQRQ._Name);
LiteralSetOrderTitle(title_TheCode, orderI, entity._TheCode._Name);
LiteralSetOrderTitle(title_TheName, orderI, entity._TheName._Name);
IOrderByDriver iorder = entity;
IQueryDriver iq = entity;
if (orderI.IsOrder())
{
iorder.AddIOrderByItemWithEntityFieldInfoName
(
orderI.DataColumnName,
orderI.DataColumnOrder
);
}
iorder.AddOrderDesc(entity._ItemSeq);
if (!orderI.DataColumnNameIsOrder(entity._SQRQ._Name))
{
iorder.AddOrderDesc(entity._SQRQ);
}
if (!orderI.DataColumnNameIsOrder(entity._TheName._Name))
{
iorder.AddOrderAsc(entity._TheName);
}
iorder.AddOrderAsc(entity._ID);
iq.InitIQueryItemWithShow();
if (kw != null && kw.Length > 0)
{
string searchName
=
entity._TheName._Name
+ "|" + entity._TheCode._Name;
iq.AddIQueryItemAdvSearch
(
searchName,
kw.ToLower()
);
}
int pageSize = detailAspNetPager.PageSize;
int iRowCount = -1;
if (pageSize <= 0)
{
pageSize = int.MaxValue;
detailAspNetPager.PageSize = pageSize;
pageIndex = 0;
detailAspNetPager.CurrentPageIndex = 1;
}
List<BaseModel>
theList
=
bll.PageListBaseModel
(
pageIndex,
pageSize,
ref iRowCount,
entity,
xdbHelper
);
SetAspNetPagerPageMessage
(detailAspNetPager, pageIndex, iRowCount);
rp_List.DataSource = theList;
rp_List.DataBind();
ZJL.LabLib.Model.LAB.UTB_ZJL_LAB_ZL
model = null;
RepeaterItem rpItem = null;
int iCount = theList.Count;
CtrlIndex CI = CtrlIndex.CI;
Literal lt = null;
int idx = pageIndex * pageSize;
string strTheName = null;
for (int i = 0; i < iCount; ++i)
{
rpItem = rp_List.Items[i];
model = theList[i] as ZJL.LabLib.Model.LAB.UTB_ZJL_LAB_ZL;
lt = rpItem.FindControl(CI.lt_Seq) as Literal;
++idx;
lt.Text = idx.ToString();
lt = rpItem.FindControl(CI.lt_TheName) as Literal;
strTheName = ToHighLightStr(model.TheName, kw);
lt.Text = LiteralGetTheName(strTheName, model.LinkUrl);
}
//theResult.AppendLine("<table class=\"DL\">");
//theResult.AppendLine("<tr class=\"DL\">");
//theResult.Append("<th class=\"DL\" style=\"width:40px;\">序号</th>");
//theResult.Append("<th class=\"DL\">专利名称</th>");
//theResult.Append("<th class=\"DL\">专利号</th>");
//theResult.Append("<th class=\"DL\" style=\"min-width:95px;\">授权日期</th>");
//theResult.Append("<th class=\"DL\" style=\"min-width:85px;\">发明人</th>");
//theResult.AppendLine("</tr>");
//bool bClassFlag = true;
//string className = null;
//int idx = pageIndex * pageSize;
//foreach (ZJL.LabLib.Model.LAB.UTB_ZJL_LAB_ZL
// model in theList)
//{
// bClassFlag = !bClassFlag;
// if (bClassFlag)
// className = "DL";
// else
// className = "DLA";
// ++idx;
// theResult.AppendLine("<tr class=\"DL\">");
// theResult.Append("<td class=\"" + className + "\">" + idx.ToString() + "</td>");
// theResult.Append("<td class=\"" + className + "\">" + ToHighLightStr(model.TheName, kw) + "</td>");
// theResult.Append("<td class=\"" + className + "\">" + ToHighLightStr(model.TheCode, kw) + "</td>");
// theResult.Append("<td class=\"" + className + "\">" + model.SQRQ + "</td>");
// theResult.Append("<td class=\"" + className + "\">" + model.FMR + "</td>");
// theResult.AppendLine("</tr>");
//}
//theResult.AppendLine("</table>");
if (bIsCreate)
xdbHelper.EndDBHelper();
}
catch (Exception err)
{
if (bIsCreate)
xdbHelper.TranDBHelper();
throw err;
}
finally
{
if (bIsCreate)
xdbHelper.FinallyDBHelper();
}
// return theResult.ToString();
return "";
}
/// <summary>
/// 绑定控件
/// </summary>
/// <param name="xdbHelper"></param>
protected string DataBindTheControls
(
DBHelper xdbHelper
)
{
bool bIsCreate = true;
if (xdbHelper == null)
{
xdbHelper = SlowX.DAL.Helpers.DBHelper.CreateDBHelper();
}
else
{
// 没有打开链接 //
bIsCreate = xdbHelper.IsNotOpen();
}
try
{
if (bIsCreate)
xdbHelper.OpenDBHelper();
NewsSortBasicItem mainNewsSort = null;
WebSiteBLL wi = WebSiteBLL.instance;
string theCode
=
CTheCode;
if (theCode.Length != 0)
{
newsSortItem = wi.GetNewsSortBasicItem
(
theCode,
xdbHelper
);
}
if (newsSortItem == null)
{
if (bIsCreate)
xdbHelper.EndDBHelper();
return "没有获得" + wi.GetNewsTitle() + "栏目";
}
//
curNewSortId = newsSortItem.ID;
//
List<NewsSortBasicItem> listNewsSort
=
newsSortItem._ListNewsSortBasicItem;
//
mainNewsSort
=
newsSortItem;
if (listNewsSort == null || listNewsSort.Count == 0)
{
if (newsSortItem._parent == null)
{
// 顶层 //
listNewsSort =
wi.GetListNewsSortBasicItem(xdbHelper);
// new List<NewsSortBasicItem>();
}
else
{
mainNewsSort = newsSortItem._parent;
listNewsSort
=
mainNewsSort._ListNewsSortBasicItem;
}
}
// 绑定左边导航 //
rp_Nav.DataSource = listNewsSort;
rp_Nav.DataBind();
// 构建内容导航 //
StringBuilder sbNav = new StringBuilder();
NewsSortBasicItem itemNav = newsSortItem;
string strNav = "";
while (itemNav != null)
{
strNav = HtmlSlowXFunctions.GetHref
(
itemNav.ListUrl,
itemNav.TheName,
itemNav.TheName,
"",
"NewsHrefSTYLE3"
);
sbNav.Insert(0, " > " + strNav);
itemNav = itemNav._parent;
}
newsSortNav = sbNav.ToString();
SetWebPageTitle(newsSortItem.TheName);
CurPageTitle = newsSortItem.TheName;
lt_TheContent.Text = ToZL(xdbHelper);
if (bIsCreate)
xdbHelper.EndDBHelper();
}
catch (Exception err)
{
if (bIsCreate)
xdbHelper.TranDBHelper();
return "系统异常:" + err.Message;
}
finally
{
if (bIsCreate)
xdbHelper.FinallyDBHelper();
}
return "";
}
/// <summary>
/// 页面加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
// 数据绑定 //
string str = DataBindTheControls(null);
if (str != null && str.Length > 0)
{
Response.Redirect(strPhyPath + "/error.aspx?msg=" + Server.UrlEncode(str));
}
}
}
}
-
using System;
namespace ZJL.LabLib.Classes
{
/// <summary>
/// 排序信息
/// </summary>
[Serializable]
public class OrderInfo
{
/// <summary>
///
/// </summary>
public OrderInfo()
{
}
#region DataColumnName ~ 排序字段
/// <summary>
/// DataColumnName ~ 排序字段
/// </summary>
protected string m_DataColumnName = null;
/// <summary>
/// DataColumnName ~ 排序字段
/// </summary>
public string DataColumnName
{
get
{
return m_DataColumnName;
}
set
{
m_DataColumnName = value;
}
}
#endregion DataColumnName ~ 排序字段
#region DataColumnOrder ~ 排序方式
/// <summary>
/// DataColumnOrder ~ 排序方式
/// </summary>
protected SlowX.Core.Enums.OrderBy.EmOrderBy m_DataColumnOrder
=
SlowX.Core.Enums.OrderBy.EmOrderBy.ASC;
/// <summary>
/// DataColumnOrder ~ 排序方式
/// </summary>
public SlowX.Core.Enums.OrderBy.EmOrderBy DataColumnOrder
{
get
{
return m_DataColumnOrder;
}
set
{
m_DataColumnOrder = value;
}
}
#endregion DataColumnOrder ~ 排序方式
/// <summary>
///
/// </summary>
/// <returns></returns>
public SlowX.Core.Enums.OrderBy.EmOrderBy DataColumnOrderConvert()
{
if (DataColumnOrder == SlowX.Core.Enums.OrderBy.EmOrderBy.ASC)
return SlowX.Core.Enums.OrderBy.EmOrderBy.DESC;
else
return SlowX.Core.Enums.OrderBy.EmOrderBy.ASC;
}
/// <summary>
///
/// </summary>
/// <param name="str"></param>
public void InitClass(string str)
{
if (str == null || str.Length == 0)
return;
str = str.Trim();
if (str.Length == 0)
return;
str = str.ToLower();
int idx = str.IndexOf('.');
if (idx == -1)
{
DataColumnName = str;
return;
}
DataColumnName = str.Substring(0, idx);
str = str.Substring(idx + 1);
if (str == "desc")
DataColumnOrder = SlowX.Core.Enums.OrderBy.EmOrderBy.DESC;
else
DataColumnOrder = SlowX.Core.Enums.OrderBy.EmOrderBy.ASC;
}
/// <summary>
///
/// </summary>
/// <param name="theName"></param>
/// <returns></returns>
public bool DataColumnNameIsOrder(string theName)
{
if (theName == null)
return false;
if (theName.Trim().ToLower() == DataColumnName)
return true;
return false;
}
/// <summary>
///
/// </summary>
/// <returns></returns>
public bool IsOrder()
{
if (DataColumnName == null)
return false;
if (DataColumnName.Length == 0)
return false;
if (DataColumnName.Trim().Length == 0)
return false;
return true;
}
/// <summary>
///
/// </summary>
/// <returns></returns>
public string ToOrderUrlParam()
{
return DataColumnName.Trim().ToLower() + "." + DataColumnOrder.ToString().ToLower();
}
}
}
-
using SlowX.WebSite.Pages;
using System.Text;
using ZJL.LabLib.Classes;
using System.Web.UI.WebControls;
/// <summary>
///WebPageBase 的摘要说明
/// </summary>
public class WebPageBase
:
PageBase
{
/// <summary>
///
/// </summary>
public DataBindHelper DH
{
get
{
return DataBindHelper.instance;
}
}
/// <summary>
///
/// </summary>
/// <param name="idx"></param>
/// <returns></returns>
protected string DataBindGetTdClass(int idx)
{
int mod = idx % 2;
if (mod == 0)
return "DLA";
else
return "DL";
}
/// <summary>
///
/// </summary>
public NameInfo NI
{
get
{
return NameInfo.instance;
}
}
/// <summary>
/// 创建排序信息
/// </summary>
/// <returns></returns>
protected OrderInfo OrderInfoCreate()
{
string order = Request.QueryString["order"];
OrderInfo theResult = new OrderInfo();
theResult.InitClass(order);
return theResult;
}
/// <summary>
///
/// </summary>
/// <param name="theText"></param>
/// <param name="dataColumnName"></param>
/// <param name="em"></param>
/// <returns></returns>
protected string GetSpan4Order
(
string theText,
string dataColumnName,
SlowX.Core.Enums.OrderBy.EmOrderBy em,
bool fillChar
)
{
if (fillChar)
{
if (em == SlowX.Core.Enums.OrderBy.EmOrderBy.ASC)
theText += "↑";
else
theText += "↓";
}
string jsOnclick = "OnJsOrderByClick('" + dataColumnName.Trim().ToLower() + "','" + em.ToString().ToLower() + "');";
return "<span style=\"cursor:pointer;\" onclick=\"" + jsOnclick + "\">" + theText + "</span>";
}
/// <summary>
///
/// </summary>
/// <param name="lt"></param>
/// <param name="orderI"></param>
/// <param name="dataColumnName"></param>
protected void LiteralSetOrderTitle
(
Literal lt,
OrderInfo orderI,
string dataColumnName
)
{
if (lt == null)
return;
if (!orderI.DataColumnNameIsOrder(dataColumnName))
{
lt.Text = GetSpan4Order(lt.Text, dataColumnName, SlowX.Core.Enums.OrderBy.EmOrderBy.ASC, false);
return;
}
lt.Text = GetSpan4Order(lt.Text, dataColumnName, orderI.DataColumnOrderConvert(), true);
}
/// <summary>
/// 转换"成"
/// 如:canoe"best,结果为canoe"best
/// </summary>
/// <param name="obj">传入的字符串(canoe"best)</param>
/// <returns>输出的结果,如(canoe"best)</returns>
public string StringConvertQuot(string obj)
{
if (obj == null)
return string.Empty;
return obj.Replace("\"", """);
}
/// <summary>
///
/// </summary>
/// <param name="theName"></param>
/// <param name="linkUrl"></param>
/// <returns></returns>
protected string LiteralGetTheName(string theName, string linkUrl)
{
if (linkUrl == null || linkUrl.Length == 0)
return theName;
linkUrl = linkUrl.Trim();
if (linkUrl.Length == 0)
return theName;
if (linkUrl.StartsWith("~/"))
linkUrl = strPhyPath + linkUrl.Substring(1);
return "<a href=\"" + StringConvertQuot(linkUrl) + "\" title=\"原文链接\" class=\"DefaultHref\" target=\"_blank\">" + theName + "</a>";
}
/// <summary>
///
/// </summary>
/// <param name="idx"></param>
/// <param name="str"></param>
/// <returns></returns>
protected string DataBindPrintNoFirst(int idx, string str)
{
if (idx == 0)
return "";
return str;
}
/// <summary>
/// 设置分页控件的页面信息
/// </summary>
/// <param name="wuqiWebdiyerAspNetPager"></param>
/// <param name="iPageIndex"></param>
/// <param name="iRowCount"></param>
public void SetAspNetPagerPageMessage
(
Wuqi.Webdiyer.AspNetPager wuqiWebdiyerAspNetPager,
int iPageIndex,
int iRowCount
)
{
int iPageSize = wuqiWebdiyerAspNetPager.PageSize;
wuqiWebdiyerAspNetPager.RecordCount = iRowCount;
wuqiWebdiyerAspNetPager.CurrentPageIndex = iPageIndex + 1;
}
/// <summary>
/// 通过关键字高亮文本内容的算法 - ToHighLightStr
/// </summary>
/// <param name="str"></param>
/// <param name="kw"></param>
/// <returns></returns>
protected string ToHighLightStr(string str, string kw)
{
if (str == null)
return "";
if (kw == null || kw.Length == 0)
return str;
string lowerStr = str.ToLower();
string lowerKw = kw.ToLower();
StringBuilder theResult = new StringBuilder();
int idx = -1;
string strPre = null;
string strHL = null;
string strPost = null;
int kwLen = kw.Length;
while (true)
{
idx = lowerStr.IndexOf(lowerKw);
if (idx == -1)
{
// 没有找到记录 //
theResult.Append(str);
break;
}
strPre = str.Substring(0, idx);
strHL = str.Substring(idx, kwLen);
strPost = str.Substring(idx + kwLen);
theResult.Append(strPre);
theResult.Append("<font color=\"red\">" + strHL + "</font>");
str = strPost;
lowerStr = lowerStr.Substring(idx + kwLen);
}
return theResult.ToString();
}
public WebPageBase()
{
//
//TODO: 在此处添加构造函数逻辑
//
}
}