首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

小弟愚蠢,这个效能只实现一半,实在苦恼

2012-11-04 
小弟愚蠢,这个功能只实现一半,实在苦恼!小弟愚蠢,这个功能只实现一半,实在苦恼!做了一两天了,跟这个网站的

小弟愚蠢,这个功能只实现一半,实在苦恼!
小弟愚蠢,这个功能只实现一半,实在苦恼!

做了一两天了,跟这个网站的产品筛选功能类似的。
http://sports.8t8x.com/product/yumaoqiu.htm
下面的代码我只能处理URL参数里有的字段,让它不追加重复的筛选ID,但是同类的切无法让它不追加,比如
"材质分类:"这个选项里有"碳素纤维 铝合金 铝碳一体 铁合金"
我选了碳素纤维,碳素纤维的ID是1。现在再选铝合金,铝合金的URL参数不应该包含1的。可是我无法实现

C# code
using System;using System.Collections.Generic;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;namespace MTC.Web.Aspx{    public partial class Test : System.Web.UI.Page    {        protected void Page_Load(object sender, EventArgs e)        {            string allSelectField = "48,49,-48,50,-48,51,-|45,46,-45,47,-|2,3,-2,4,-2,5,-2,29,-2,30,-2,31,-2,32,-2,33,-2,34,-2,35,-2,36,-2,37,-|1,6,-1,7,-1,52,-1,53,-|8,9,-8,10,-8,11,-|38,39,-38,40,-38,41,-|42,43,-42,44,-|";            allSelectField = allSelectField.Replace(",-|", "|");            allSelectField = allSelectField.Replace(",-", "-");            allSelectField = allSelectField.Substring(0,allSelectField.Length - 1);            string[] groupArray = allSelectField.Split('|');  //组数组            string[] fieldArray; //大类数组            string[] SmallFieldArray; //小类数组            string url = "50-46-29"; //提交的查询URL            string[] urlArray = url.Split('-');  //URL数组            Response.Write("URL is:" + url + "<br />");            for (int i = 0; i < groupArray.Length; i++) //遍历组            {                fieldArray = groupArray[i].Split('-');                for (int ii = 0; ii < fieldArray.Length; ii++)//遍历大类                {                    SmallFieldArray = fieldArray[ii].Split(',');                    Response.Write(myTest2(url, urlArray, SmallFieldArray, fieldArray[ii], groupArray[i]));                }            }        }        /// <summary>        ///         /// </summary>        /// <param name="url">提交的查询URL</param>        /// <param name="urlArray">URL数组</param>        /// <param name="SmallFieldArray">小类数组</param>        /// <param name="fieldArray">大类数组</param>        /// <param name="groupArray">组数组</param><returns>        /// <returns>返回的URL参数</returns>        public string myTest2(string url, string[] urlArray, string[] SmallFieldArray, string fieldArray, string groupArray)        {            string myStr = string.Empty;            int fieldParentId = 0; //上级ID            int fieldParentId2 = 0; //上级ID            int field = 0;//下级ID            for (int ii = 0; ii < urlArray.Length; ii++)            {                if (urlArray[ii] == SmallFieldArray[1])                {                    fieldParentId = Convert.ToInt32(SmallFieldArray[0]);                }                if (fieldParentId != 0 || fieldParentId2 != 0)                {                    myStr = url + "-" + fieldParentId + "***********<br />";                }                         else                {                    myStr = url + "-" + SmallFieldArray[1] + "<br />";                }                         }            return myStr;        }    }}


[解决办法]
你现在的思路是都进来后再做字符串处理,你可以在进来之前控制数据,同一类型只能选一个。
[解决办法]
学习了

热点排行