Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 不读取while循环第一次迭代ASP.NET中的表单元素_Javascript_Asp.net - Fatal编程技术网

Javascript 不读取while循环第一次迭代ASP.NET中的表单元素

Javascript 不读取while循环第一次迭代ASP.NET中的表单元素,javascript,asp.net,Javascript,Asp.net,我有一个运行5次的while循环: string qry = "Select * from tbl_Products order by ProductId"; SqlCommand cmd = new SqlCommand(qry, con); con.Open(); sbProducts="<table><tr>"; using (SqlDataReader sdr = cmd.ExecuteReader()) { while (sdr.Read())

我有一个运行5次的while循环:

string qry = "Select * from tbl_Products order by ProductId";
SqlCommand cmd = new SqlCommand(qry, con);
con.Open();
sbProducts="<table><tr>"; 
using (SqlDataReader sdr = cmd.ExecuteReader()) 
{ 
    while (sdr.Read()) 
    {
        sbProducts = sbProducts + "<td>";
        sbProducts = sbProducts + "<Form>";
        sbProducts = sbProducts + "123";
        sbProducts = sbProducts + "</Form>";
        sbProducts = sbProducts + "</td>"; 
    }
    sbProducts = sbProducts + "</table>";
    CellTwo = sbProducts.ToString();
    con.Close(); 
}
string qry=“按产品ID从tbl\U产品订单中选择*”;
SqlCommand cmd=新的SqlCommand(qry,con);
con.Open();
sbProducts=“”;
使用(SqlDataReader sdr=cmd.ExecuteReader())
{ 
while(sdr.Read())
{
sbProducts=sbProducts+“”;
sbProducts=sbProducts+“”;
sbProducts=sbProducts+“123”;
sbProducts=sbProducts+“”;
sbProducts=sbProducts+“”;
}
sbProducts=sbProducts+“”;
CellTwo=sbProducts.ToString();
con.Close();
}
它的输出很好,但是它没有包装第一次迭代TD不是用表单标记包装的。 这似乎很不合逻辑。输出如下所示:

<table>
<tr>
<td>123</td>
<td><form>123</form></td>
<td><form>123</form></td>
<td><form>123</form></td>
<td><form>123</form></td>


</tr>
</table>

123
123
123
123
123
您有两个问题。 1) 您没有正确构建表(缺少一个
) 2) 那张桌子可能在另一张桌子里。您的代码(稍微清理)应该如下所示:

while (sdr.Read()) 
{
    sbProducts += "<td>";
    sbProducts += "<Form>";
    sbProducts += "123";
    sbProducts += "</Form>";
    sbProducts += "</td>"; 
}
sbProducts += "</tr></table>"; //You were missing this </tr>
while(sdr.Read())
{
sbProducts+=”;
sbProducts+=”;
sbProducts+=“123”;
sbProducts+=”;
sbProducts+=”;
}
sbProducts+=”//你错过了这个
一旦您确认自己没有在另一个表单中执行此操作,您将看到它的结果与预期一致。表单不能包含其他表单,它是HTML标准。

您有两个问题。 1) 您没有正确构建表(缺少一个
) 2) 那张桌子可能在另一张桌子里。您的代码(稍微清理)应该如下所示:

while (sdr.Read()) 
{
    sbProducts += "<td>";
    sbProducts += "<Form>";
    sbProducts += "123";
    sbProducts += "</Form>";
    sbProducts += "</td>"; 
}
sbProducts += "</tr></table>"; //You were missing this </tr>
while(sdr.Read())
{
sbProducts+=”;
sbProducts+=”;
sbProducts+=“123”;
sbProducts+=”;
sbProducts+=”;
}
sbProducts+=”//你错过了这个


一旦您确认自己没有在另一个表单中执行此操作,您将看到它的结果与预期一致。表单不能包含其他表单,它是HTML标准。

…sbProducts最初是什么?你在哪里/怎么写?同时
sbProducts+=”
是一种较短的编写方式。您确定while循环运行了5次吗?sbProducts是一个字符串。@Jojo没有说明它在您的编辑中应该是什么样子的。。。而且也不会编译。您的问题似乎被标记为javascript。您是否在加载时进行了一些javascript处理,可能会删除表单标记?…sbProducts最初是什么?你在哪里/怎么写?同时
sbProducts+=”
是一种较短的编写方式。您确定while循环运行了5次吗?sbProducts是一个字符串。@Jojo没有说明它在您的编辑中应该是什么样子的。。。而且也不会编译。您的问题似乎被标记为javascript。您是否在加载时进行了一些javascript处理,可能会删除表单标记?这不在您使用母版页的框架内?大多数默认的.aspx页面和母版页将像
一样开始。我可以把你的问题完全复制到表单中。在表单外部,它可以正常工作。您可能还注意到,呈现的HTML与您在firebug.thanx Mike中检查元素时看到的HTML之间存在差异。它现在可以工作了,对了,母版页中有一个标记。这个问题是通过循环启动来解决的。这不是解决问题的正确方法。。。此外,您将在文档末尾附近有一个随机的结束表单标记。这不在模板内,您是否使用母版页?大多数默认的.aspx页面和母版页将像
一样开始。我可以把你的问题完全复制到表单中。在表单外部,它可以正常工作。您可能还注意到,呈现的HTML与您在firebug.thanx Mike中检查元素时看到的HTML之间存在差异。它现在可以工作了,对了,母版页中有一个标记。这个问题是通过循环启动来解决的。这不是解决问题的正确方法。。。此外,在文档末尾附近还会有一个随机的结束表单标记。