首页 新闻 搜索 专区 学院

断点可以正常赋值,但直接运行就不可以赋值,高手帮忙

0
悬赏园豆:15 [已解决问题] 解决于 2012-05-08 13:50
今天遇见一个很蹊跷的问题,至今没搞出来 求高手 
在走断点的时候一切正常,但直接运行的时候 有个变量老获取不到值
高手 帮忙
备注:我用了好多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;
    
    }
 
}

水行者的主页 水行者 | 初学一级 | 园豆:34
提问于:2012-04-17 12:03
< >
分享
最佳答案
0

没错啊!

收获园豆:5
王艺丹 | 菜鸟二级 |园豆:207 | 2012-04-17 13:58
其他回答(8)
0

1:确定走断点是否可以正确获取值

2:在if语句周围打log,看一下你的kw值

收获园豆:1
zsounder | 园豆:2819 (老鸟四级) | 2012-04-17 12:20

恩 ,走断点时候能赋值,但直接运行就不行啦

支持(0) 反对(0) 水行者 | 园豆:34 (初学一级) | 2012-04-17 13:39
0

如果是多线程就很难说了

收获园豆:1
寒山石 | 园豆:203 (菜鸟二级) | 2012-04-17 13:36

我这里都没用到多线程呀

支持(0) 反对(0) 水行者 | 园豆:34 (初学一级) | 2012-04-17 13:38
0

是用Ctrl+F5运行的吗?如果不是,你是怎么直接运行的?

在看看这个方法是否执行了多次,每次kw是否还有值.

收获园豆:1
碧落星痕 | 园豆:708 (小虾三级) | 2012-04-17 14:00
0

我觉得你应该看看kw = kw.Substring(0, kw.LastIndexOf(','))后,是否还有值,如果本身就已经没有值了,赋值后当然是没有值了;还有看看是否已经跳进了当前的if判断

收获园豆:1
--宁静以致远-- | 园豆:364 (菜鸟二级) | 2012-04-17 14:02
0

可能是正确赋值之后,逻辑错误导致再次赋值或者清空了。重新检查逻辑关系和代码。断点不要跟到就撤销,继续跟直到出错为止。

收获园豆:1
葡萄城技术团队 | 园豆:397 (菜鸟二级) | 2012-04-17 14:14
0

清一下解决方案,重新生成一下。

收获园豆:3
wlz0815 | 园豆:587 (小虾三级) | 2012-04-17 22:10
0

可能在下面的操作中被清掉了

收获园豆:2
千重 | 园豆:129 (初学一级) | 2012-04-18 13:49
0

帮顶,我也遇到这个问题了。

南宫萧尘 | 园豆:187 (初学一级) | 2012-08-17 10:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册