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;
}
}
没错啊!
1:确定走断点是否可以正确获取值
2:在if语句周围打log,看一下你的kw值
恩 ,走断点时候能赋值,但直接运行就不行啦
如果是多线程就很难说了
我这里都没用到多线程呀
是用Ctrl+F5运行的吗?如果不是,你是怎么直接运行的?
在看看这个方法是否执行了多次,每次kw是否还有值.
我觉得你应该看看kw = kw.Substring(0, kw.LastIndexOf(','))后,是否还有值,如果本身就已经没有值了,赋值后当然是没有值了;还有看看是否已经跳进了当前的if判断
可能是正确赋值之后,逻辑错误导致再次赋值或者清空了。重新检查逻辑关系和代码。断点不要跟到就撤销,继续跟直到出错为止。
清一下解决方案,重新生成一下。
可能在下面的操作中被清掉了
帮顶,我也遇到这个问题了。