2010-04-18 45 views
-3

当我试图在代码中专注于编译器时,我在代码上做了断点。检查带断点的编译器

if (!IsPostBack) 
{ 
    using (SqlConnection Con = Connection.GetConnection()) 
    { 
     if (Request.QueryString["Category_Id"] != null && 
      DDlProductFamily.SelectedIndex < 0) 
     { 
      SqlCommand Com = new SqlCommand("SelectAllCtageories_Front", Con); 
      Com.CommandType = CommandType.StoredProcedure; 
      Com.Parameters.Add(Parameter.NewInt(
       "@Category_Id", Request.QueryString["Category_Id"])); 

      SqlDataAdapter DA = new SqlDataAdapter(Com); 
      DA.Fill(dt); 
      DataList1.DataSource = dt; 
      DataList1.DataBind(); 
     } 

但我不能检查条件,虽然我有查询字符串的值。

+2

-1我不明白你在说什么或问。 – Jaxidian 2010-04-18 14:49:46

+0

...你问的是在断点处如何看到Request.QueryString [“Category_Id”]的值吗? – Jaxidian 2010-04-18 14:50:50

+0

我不知道你的问题在这里。 – 2010-04-18 15:19:24

回答

0

一旦命中断点,您可以使用F10F11单步执行代码。

如果您想查看变量的值,则可以将鼠标悬停在它们上面或right-clickadd watchadd quick watch

如果要检查,如果你的条件是truefalse然后选择整个条件右击并选择上面提到的选项之一。

我不明白你的问题。但是你想要Sarah Ford's Blog

0

我猜你已经在if (Request.QueryString["Category_Id"] != null && DDlProductFamily.SelectedIndex < 0)声明中的某处放置了一个断点,当你调试你的应用程序时,你的断点永远不会被命中。我对吗?

然后,检查几件事。

  1. 确保您的解决方案设置为调试模式。这应该在标准Visual Studio工具栏上,作为下拉菜单。你可能已经做到了这一点,但确保无损。

  2. 将断点放在if语句本身上,并将手表添加到两个条件中。我的猜测是,如果如您所说,查询结果是非空值,那么这只能表示DDlProductFamily.SelectedIndex < 0的计算结果为false。

  3. 实际上,可能值得确认IsPostBack也是如此,以确保您确实正在输入此代码块。你可以在你感兴趣的每一行都贴上断点,或者按照TheMachineCharmer的建议,你可以用F10遍历每一行。

基于对你的问题的信息有限,我最好的猜测是,要么DDlProductFamily.SelectedIndex小于0,或IsPostBack是假的。

希望有帮助!

+0

我忘记了提到 代码保护无效DataList1_Load(对象发件人,EventArgs e) { } – Myworld 2010-04-19 08:24:17