将while循环中的一个tablecell变量传递给另一个类

时间:2013-04-12 15:06:06

标签: c# asp.net-mvc html5

目的:想要从另一个类而不是代码隐藏类在html网页上显示表。或者如何调用另一个类而不是代码隐藏类?

表格单元格错误,“并非所有代码路径都返回值”。

迷你代码在下面

public class SQLscr : Page
{
    protected void creattable(object sender, EventArgs e)
    {           
        Table Table1 = new Table();
        TableRow r = new TableRow();
        TableCell tempc = new TableCell();;
        tempc = CreateaTable.tablecell(tempc);
        r.Cells.Add(tempc);
        Table1.Rows.Add(r);
    }   

}

public class CreateaTable

{    public static TableCell tablecell(TableCell c)         {

        SqlDataReader myReader = myCommand.ExecuteReader();
    while (myReader.Read()){
        c.Controls.Add(...);
        return c;
    }

1 个答案:

答案 0 :(得分:1)

问题在于:

while (myReader.Read()){
    c.Controls.Add(new LiteralControl(myReader["startbit_1_2_3"].ToString() + "," +
            myReader["stream_index"].ToString() + "," +)));
    return c;
}

我怀疑你想要在该循环的第一次迭代中返回。这就是异常的地方 - 你可能永远不会遇到return c,这就是为什么它会给你一个例外,即并非所有代码路径都返回一个值。

将它移到while循环之外。

while (myReader.Read()){
    c.Controls.Add(new LiteralControl(myReader["startbit_1_2_3"].ToString() + "," +
            myReader["stream_index"].ToString() + "," +))); 
}
return c;