StartFragment
今天遇见一个很蹊跷的问题,至今没搞出来 求高手 在走断点的时候一切正常,但直接运行的时候 有个变量老获取不到值高手 帮忙
备注:我用了好多foreach循环,但走断点的时候都可以赋值,直接运行就不可以赋值啦
下面是代码
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;
using BLL;using Model;using System.Threading;public partial class psychologist_Show_02 : System.Web.UI.Page{ protected List<List<InterestLogs>> li = new List<List<InterestLogs>>();//log档信息 protected List<List<InterestStars>> starts = new List<List<InterestStars>>();//明星信息 protected string tx="&tx=" ;//特性 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) Filter(); } /// <summary> /// 筛选器 /// </summary> private void Filter() { double ys = 0.0; //艺术型(11) double sw = 0.0; //事务型(12) double jy = 0.0; //经营(13) double yj = 0.0; //研究(14) double sh = 0.0; //社会(15) double js = 0.0; //技术(16) double zran = 0.0; //自然(17) double qs = 0.0; //权利(18) if (Request.QueryString["ys"] != null) ys = Convert.ToDouble(Request.QueryString["ys"]); else Response.RedirectPermanent("Show_01.aspx"); if (Request.QueryString["sw"] != null) sw = Convert.ToDouble(Request.QueryString["sw"]); else Response.RedirectPermanent("Show_01.aspx"); if (Request.QueryString["jy"] != null) jy = Convert.ToDouble(Request.QueryString["jy"]); else Response.RedirectPermanent("Show_01.aspx"); if (Request.QueryString["yj"] != null) yj = Convert.ToDouble(Request.QueryString["yj"]); else Response.RedirectPermanent("Show_01.aspx"); if (Request.QueryString["sh"] != null) sh = Convert.ToDouble(Request.QueryString["sh"]); else Response.RedirectPermanent("Show_01.aspx"); if (Request.QueryString["js"] != null) js = Convert.ToDouble(Request.QueryString["js"]); else Response.RedirectPermanent("Show_01.aspx"); if (Request.QueryString["zran"] != null) zran = Convert.ToDouble(Request.QueryString["zran"]); else Response.RedirectPermanent("Show_01.aspx"); if (Request.QueryString["qs"] != null) qs = Convert.ToDouble(Request.QueryString["qs"]); else Response.RedirectPermanent("Show_01.aspx"); //符合的特性 List<int> list = new List<int>(); if (ys > 8) list.Add(11); if (sw > 7) list.Add(12); if (jy > 8) list.Add(13); if (yj > 8) list.Add(14); if (sh > 8) list.Add(15); if (js > 8) list.Add(16); if (zran > 8) list.Add(17); if (qs > 8) list.Add(18); //特性 string dexing = ""; //关键字 string kw = ""; //描述 string ms = ""; //是否有符合的特性 if (list.Count > 0) { if (list.Count == 8) { //全部符合的特性的提示 ms += "根据您第一部分的数据分析结果,您的特性适合多种类型的职业,故邀请您继续填答第二部分的题目,以便帮您做进一步的分
析。谢谢!"; tx += "0"; } else { foreach (int item in list) { if (item == 11) dexing += "艺术型,"; if (item == 12) dexing += "事务型,"; if (item == 13) dexing += "经营型,"; if (item == 14) dexing += "研究型,"; if (item == 15) dexing += "社会型,"; if (item == 16) dexing += "技术型,"; if (item == 17) dexing += "自然型,"; if (item == 18) dexing += "权利型,"; starts.Add(InterestStarsBLL.GetStarsByStyles(item)); tx += item.ToString()+",";//tx赋值 }
dexing = dexing.Substring(0, dexing.LastIndexOf(',')); //什么类型的人 foreach (int l in list) { InterestLogs logs = new InterestLogs(); logs.userID = 1; logs.select_scores = 3; logs.styles = l;//特性 foreach (InterestLogs item in InterestLogsBLL.GetLogsByUserIdAndStyles(logs)) { kw += item.InteresTopics.keywords + ","; } } if (kw.Length > 1) { kw = kw.Substring(0, kw.LastIndexOf(','));//这里老付不了值,但走断点可以,直接运行就不行啦 } //个别几个符号的提示 ms += "您是個" + kw + "的人,可能会对" + dexing + "的职业类型感兴趣。"; } } else { //没有一个符合的特性的提示 ms += "根据您第一部份的数据分析结果,您尚无法确定自己是一个甚么样的人,对于职业类型没有清楚的方向,故邀请您继续填答第二部
分的题目,以便帮您做进一步的分析。谢谢!"; tx += "0"; } this.Literal1.Text = ms; } }
11 回答
30秒到达战场
TA贡献1828条经验 获得超6个赞
我觉得你应该看看kw = kw.Substring(0, kw.LastIndexOf(','))后,是否还有值,如果本身就已经没有值了,赋值后当然是没有值了;还有看看是否已经跳进了当前的if判断
- 11 回答
- 0 关注
- 647 浏览
添加回答
举报
0/150
提交
取消