<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<Table Id="Table1" runat="Server" Border="1"/>
<Form id="Form1" runat="Server">
<Button Id="Button1" runat="Server" OnServerClick="Button1_Click">请按我</Button>
</Form >
<script language="C#" runat="Server">
    protected void Page_Load(object sender, EventArgs e)
    {       
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        HtmlTableCell Cell;
        HtmlTableRow Row;
        int X, Y;
        for (X = 1; X <= 9; X++)
        {  
            Cell=new HtmlTableCell();
            for (Y = 1; Y <= 9; Y++)
            {
                Cell.InnerHtml = Cell.InnerHtml + X + " * " + Y + " = " + X * Y;
                if (Y != 9)
                { Cell.InnerHtml = Cell.InnerHtml + "<br>"; }
            }
            if (X == 1 || X == 4 || X == 7)
            {
                Row=new HtmlTableRow();
            }
            Row.Cells.Add(Cell);
            if (X == 3 || X == 6 || X == 7)
            { Table1.Rows.Add(Row); }
        }    }
</script></html>编译错误 :说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。
编译器错误信息: CS0165: 使用了未赋值的局部变量“Row”
源错误:行 47:                 Row=new HtmlTableRow();
行 48:             }
行 49:             Row.Cells.Add(Cell);
行 50:             if (X == 3 || X == 6 || X == 7)
行 51:             { Table1.Rows.Add(Row); }
 

解决方案 »

  1.   

     if (X == 3 || X == 6 || X == 7)  条件不成立的 ROW没有给值得的 
      

  2.   

     
        protected void Button1_Click(object sender, EventArgs e)
        {
            HtmlTableCell Cell;
            HtmlTableRow Row;
            int X, Y;
            for (X = 1; X <= 9; X++)
            {  
                Cell=new HtmlTableCell();
                for (Y = 1; Y <= 9; Y++)
                {
                    Cell.InnerHtml = Cell.InnerHtml + X + " * " + Y + " = " + X * Y;
                    if (Y != 9)
                    { Cell.InnerHtml = Cell.InnerHtml + "<br>"; }
                }
                if (X == 1 || X == 4 || X == 7)
                {
                    Row=new HtmlTableRow();Row.Cells.Add(Cell);
                }
                
                if (X == 3 || X == 6 || X == 7)
                { Table1.Rows.Add(Row); Row.Cells.Add(Cell);}
            }    }
      

  3.   

    HtmlTableRow Row = new HtmlTableRow();
    变量在使用之前一定要先实例化
      

  4.   

    可能要这样:if (X == 1 || X == 4 || X == 7)
                {
                    Row=new HtmlTableRow();
                    Row.Cells.Add(Cell);
                   if (X == 3 || X == 6 || X == 7)
                   { Table1.Rows.Add(Row); }
                }
      

  5.   

    我认为应该是这样的:if(Row!=null)
    {
     Row.Cells.Add(Cell);
    }
      

  6.   


    然后:编译错误 
    说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误信息: CS0165: 使用了未赋值的局部变量“Row”源错误: 行 47:             
    行 48:             if (X == 3 || X == 6 || X == 7)
    行 49:             { Table1.Rows.Add(Row); }
    行 50:         }
    行 51: 
     
      

  7.   

    我认为比较好的办法是先实例它:HtmlTableRow Row = new HtmlTableRow(); 
      

  8.   

    看这么写的代码怎么觉得这么恶心想吐呢?
    Row=new HtmlTableRow(); 挪到  for (X = 1; X <= 9; X++)
            {  这里,就啥事没有了