C# 在asp.net中动态生成HTML元素时缺少图像源

C# 在asp.net中动态生成HTML元素时缺少图像源,c#,javascript,asp.net,C#,Javascript,Asp.net,我在数据表dt5中有4行。我试图动态地生成某些html元素,其数量等于dt5中的行数。 Visual studio代码: <% for(int i = 0; i < dt5.Rows.Count; i++) { %> <div id="Div1" class="image_stack" style="margin-left:600px" runat="server" > <img class="stackphotos photo1" src="~/Imag

我在数据表dt5中有4行。我试图动态地生成某些html元素,其数量等于dt5中的行数。 Visual studio代码:

<% for(int i = 0; i < dt5.Rows.Count; i++)
{
%>
<div id="Div1"  class="image_stack" style="margin-left:600px" runat="server" >
<img  class="stackphotos photo1" src="~/Images/3.jpg" clientidmode="static" runat="server" />
<img  class="stackphotos photo2" src="~/Images/4.jpg" clientidmode="static" runat="server"/>
<img   class="stackphotos photo3" src="~/Images/5.jpg" clientidmode="static" runat="server"/>
</div>
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<% } %>



















我能够生成html,但问题是所需的html,即(mozilla中的查看源代码)应该是。。。。 第一次迭代代码:

<div id="ContentPlaceHolder1_Div1" class="image_stack" style="margin-left:600px">
<img src="Images/3.jpg" class="stackphotos photo1" />
<img src="Images/4.jpg" class="stackphotos photo2" />
<img src="Images/5.jpg" class="stackphotos photo3" />
</div>
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
















但我得到的结果是(浏览器视图源)


好的,多亏了代码骑士,它现在似乎可以工作了。
现在我试图从datatable中获取src

 for (int i = 0; i < dt5.Rows.Count; i++)
     {
       string   a = dt5.Rows[0]["imageurl"].ToString();
       string b = dt5.Rows[1]["imageurl"].ToString();
       string c = dt5.Rows[2]["imageurl"].ToString();
  %> 
   <div id="Div1"  class="image_stack" style="margin-left:600px" runat="server" >
    <img id="Img1"  class="stackphotos photo1" src="<%a%>"   />
    <img id="Img2"  class="stackphotos photo2" src="<%b%>"  />
      <img id="Img3"   class="stackphotos photo3" src="<%c%>" />
 </div>
     <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
  <% } %>
for(int i=0;i 
"   />
"  />
" />



















你能用下面的代码试试吗

<% for(int i = 0; i < dt5.Rows.Count; i++)
{
%>
<div id="Div1"  class="image_stack" style="margin-left:600px" runat="server" >
<img  class="stackphotos photo1" src="Images/3.jpg" clientidmode="static" runat="server" />
<img  class="stackphotos photo2" src="Images/4.jpg" clientidmode="static" runat="server"/>
<img   class="stackphotos photo3" src="Images/5.jpg" clientidmode="static" runat="server"/>
</div>
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<% } %>




















意味着只需在图像url之前删除~sign..

您可以尝试使用以下代码吗

<% for(int i = 0; i < dt5.Rows.Count; i++)
{
%>
<div id="Div1"  class="image_stack" style="margin-left:600px" runat="server" >
<img  class="stackphotos photo1" src="Images/3.jpg" clientidmode="static" runat="server" />
<img  class="stackphotos photo2" src="Images/4.jpg" clientidmode="static" runat="server"/>
<img   class="stackphotos photo3" src="Images/5.jpg" clientidmode="static" runat="server"/>
</div>
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<% } %>




















意思是只需删除~sign before image url..

我已经用下面的代码尝试过了。在这里工作正常

      <% for(int i = 0; i < 5; i++)
 {
  %> 
   <div id="Div1"  class="image_stack" style="margin-left:600px" runat="server" >
    <img id="Img1"  class="stackphotos photo1" src="11.png"   />
    <img id="Img2"  class="stackphotos photo2" src="11.png"  />
      <img id="Img3"   class="stackphotos photo3" src="11.png" />
 </div>
     <br /><br /><br /><br /><br />
  <% } %>









我已经用下面的代码尝试过了。它在这里工作正常

      <% for(int i = 0; i < 5; i++)
 {
  %> 
   <div id="Div1"  class="image_stack" style="margin-left:600px" runat="server" >
    <img id="Img1"  class="stackphotos photo1" src="11.png"   />
    <img id="Img2"  class="stackphotos photo2" src="11.png"  />
      <img id="Img3"   class="stackphotos photo3" src="11.png" />
 </div>
     <br /><br /><br /><br /><br />
  <% } %>










在IE中运行页面并检查页面的源代码。@Saurabh在IE上尝试过,仍然不起作用。在那里生成runat=server控件没有意义。实际上它们不是这样的“~”不会被解析。@Adriano我删除了~它仍然不起作用,我删除了runat=“server”和~两者都不起作用。我尝试了放置~但删除了runat=”服务器“它也不起作用!您仍然有重复的ID。您应该使用索引使它们唯一或删除它们。在IE中运行页面并检查页面的来源。@Saurabh在IE上尝试过,仍然不起作用。在那里生成runat=server控件没有意义。实际上它们不是这样”~“无法解决。@Adriano我删除了~它仍然不起作用,我删除了runat=“server”和~两者都不起作用。我尝试放置~但删除runat=“server”它也不起作用!您仍然有重复的ID。您应该使用索引使它们唯一或删除它们。我删除了~它仍然不起作用,我删除了runat=“server”而且~两者都不起作用。我尝试放置~但删除runat=“server”它也不起作用!似乎我的代码在第一次迭代中运行良好,但在第一次迭代后拒绝在迭代中工作。是的,但现在我能够显示图像,但我想从datatable中获取src,我已编辑了我的问题。请看你是否能帮上忙?我删除了~它仍然不起作用,我删除了runat=“server”而且~两者都不起作用。我尝试放置~但删除runat=“server”它也不起作用!似乎我的代码在第一次迭代中运行良好,但在第一次迭代后拒绝在迭代中运行。是的,但现在我可以显示图像,但我想从datatable中获取src,我已经编辑了我的问题。请看您是否可以帮助?您的代码正在运行:)我已经投票+1。我将它标记为对的答案o,但是你能帮我在上面的代码中从datatable中获取“src”吗?我已经编辑了我的问题。是的,当然。它应该作为另一个问题。我知道你在问什么。发布另一个问题。我会给你答案。请将其标记为答案。这将在将来帮助其他人。并发布另一个查询的新问题。我会给你答案那里。你的代码正在运行:)我已经投票+1。我也会将其标记为答案,但你能帮我从上面代码中的datatable中获取“src”吗?我已经编辑了我的问题。是的,当然。它应该作为另一个问题。我知道你在问什么。发布另一个问题。我会给你答案。请将其标记为答案。它会有帮助的p其他人在将来。并发布一个新的问题作为另一个问题。我会在那里给你答案。