📄 categoryorder.aspx.cs
字号:
namespace PowerEasy.WebSite.Admin.Contents
{
using PowerEasy.Common;
using PowerEasy.Contents;
using PowerEasy.Controls;
using PowerEasy.Enumerations;
using PowerEasy.Model.Contents;
using PowerEasy.Templates;
using PowerEasy.Web.UI;
using System;
using System.Collections.Generic;
using System.Text;
using System.Web.UI.WebControls;
public class CategoryOrder : AdminPage
{
private string action;
protected Button EBtnSetOrderId;
protected ExtendedGridView EgvCategoryOrder;
private bool m_IsRootOrder;
private int m_NodeId;
protected ObjectDataSource OdsCategoryOrder;
protected ExtendedSiteMapPath SmpNavigator;
protected void EBtnSetOrderId_Click(object sender, EventArgs e)
{
List<NodeInfo> nodeList = new List<NodeInfo>();
foreach (GridViewRow row in this.EgvCategoryOrder.Rows)
{
DropDownList list2 = (DropDownList) row.FindControl("DropOrderId");
int nodeId = (int) this.EgvCategoryOrder.DataKeys[row.RowIndex].Value;
int num2 = DataConverter.CLng(list2.SelectedValue);
NodeInfo cacheNodeById = Nodes.GetCacheNodeById(nodeId);
if (this.m_IsRootOrder)
{
cacheNodeById.RootId = num2;
cacheNodeById.OrderType = 1;
}
else
{
cacheNodeById.OrderId = num2;
cacheNodeById.OrderType = 0;
}
if (!cacheNodeById.IsNull)
{
nodeList.Add(cacheNodeById);
}
}
Nodes.OrderNode(nodeList);
if (!this.m_IsRootOrder)
{
Nodes.ModifyNodeStructure(Nodes.GetCacheNodeById(this.m_NodeId));
}
this.EgvCategoryOrder.DataBind();
IncludeFile.CreateIncludeFileByAssociateType(AssociateType.Node);
base.Response.Write("<script type='text/javascript'>parent.frames[\"left\"].location.reload();</script>");
AdminPage.WriteSuccessMsg("栏目排序成功!", "CategoryOrder.aspx");
}
protected void Page_Load(object sender, EventArgs e)
{
this.m_NodeId = BasePage.RequestInt32("NodeId");
this.action = BasePage.RequestString("Action");
if (!Nodes.CheckRoleNodePurview(this.m_NodeId, OperateCode.CurrentNodesManage))
{
AdminPage.WriteErrMsg("<li>对不起,您没有当前栏目的管理权限!</li>");
}
if (string.IsNullOrEmpty(this.action))
{
this.m_IsRootOrder = true;
}
}
protected void Page_PreRender(object sender, EventArgs e)
{
int count = this.EgvCategoryOrder.Rows.Count;
if (count > 0)
{
string[] strArray = new string[count];
ListItemCollection items = new ListItemCollection();
for (int i = 1; i <= count; i++)
{
ListItem item = new ListItem(i.ToString(), i.ToString());
items.Add(item);
}
foreach (GridViewRow row in this.EgvCategoryOrder.Rows)
{
DropDownList list = (DropDownList) row.FindControl("DropOrderId");
list.DataSource = items;
list.DataBind();
list.SelectedIndex = row.RowIndex;
strArray[row.RowIndex] = list.ClientID;
list.Attributes.Add("onchange", "Reorder(this, " + row.RowIndex.ToString() + "," + count.ToString() + ")");
}
StringBuilder builder = new StringBuilder();
builder.Append("<script language=\"JavaScript\" type=\"text/JavaScript\">");
builder.Append("var arrId = new Array(");
for (int j = 0; j < count; j++)
{
builder.Append("\"" + strArray[j] + "\",");
}
builder.Remove(builder.Length - 1, 1);
builder.Append(");\n");
builder.Append("function Reorder(eSelect, iCurrentField, numSelects)\n");
builder.Append("{\n");
builder.Append(" var eForm = eSelect.form;\n");
builder.Append(" var iNewOrder = eSelect.selectedIndex + 1;\n");
builder.Append(" var iPrevOrder;\n");
builder.Append(" var positions = new Array(numSelects);\n");
builder.Append(" var ix;\n");
builder.Append(" for (ix = 0; ix < numSelects; ix++)\n");
builder.Append(" {\n");
builder.Append(" positions[ix] = 0;\n");
builder.Append(" }\n");
builder.Append(" for (ix = 0; ix < numSelects; ix++)\n");
builder.Append(" {\n");
builder.Append(" positions[eSelect.form[arrId[ix].toString()].selectedIndex] = 1;\n");
builder.Append(" }\n");
builder.Append(" for (ix = 0; ix < numSelects; ix++)\n");
builder.Append(" {\n");
builder.Append(" if (positions[ix] == 0)\n");
builder.Append(" {\n");
builder.Append(" iPrevOrder = ix + 1;\n");
builder.Append(" break;\n");
builder.Append(" }\n");
builder.Append(" }\n");
builder.Append(" if (iNewOrder != iPrevOrder)\n");
builder.Append(" {\n");
builder.Append(" var iInc = iNewOrder > iPrevOrder? -1:1\n");
builder.Append(" var iMin = Math.min(iNewOrder, iPrevOrder);\n");
builder.Append(" var iMax = Math.max(iNewOrder, iPrevOrder);\n");
builder.Append(" for (var iField = 0; iField < numSelects; iField++)\n");
builder.Append(" {\n");
builder.Append(" if (iField != iCurrentField)\n");
builder.Append(" {\n");
builder.Append(" if (eSelect.form[arrId[iField].toString()].selectedIndex + 1 >= iMin && eSelect.form[arrId[iField].toString()].selectedIndex + 1<= iMax)\n");
builder.Append(" {\n");
builder.Append(" eSelect.form[arrId[iField].toString()].selectedIndex += iInc;\n");
builder.Append(" }\n");
builder.Append(" }\n");
builder.Append(" }\n");
builder.Append(" }\n");
builder.Append("}\n");
builder.Append("</script>\n");
this.Page.ClientScript.RegisterClientScriptBlock(base.GetType(), "Order", builder.ToString());
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -