在ASPNET中将<img/>转换为<asp:image>时出现问题</asp:image>

时间:2012-06-11 12:04:45

标签: asp.net html

我正在使用普通的html 4.01控件将经典的asp页面转换为asp.net 2.0 web

页。虽然我能用等效的asp.net控件替换大多数控件,但

但我面临着控件样式的问题。对照出了

对齐即使他们使用相同的样式信息。

前:

旧代码

<p class="menuitem" id="menu01">
<a target="" href="Category.aspx?ccat_id=152&amp;language=en-GB&amp;publication=3">
<img height="7" width="12" src="Webroot/visual/arrow-navi-right.gif" border="0" alt="">Item 1</a>
</p>

新替换

<p class="menuitem" id="menu01">
<asp:LinkButton ID="LinkButtonManual" runat="server" PostBackUrl="~/Category.aspx?ccat_id=152&amp;language=en-GB&amp;publication=3">
  <asp:Image id="imgLinkManual" runat="server" Width="12" Height="7" ImageUrl="~/visual/arrow-navi-right.gif" ImageAlign="Left"/>
  <asp:Label ID="LblManual" runat="server" Text="Item 1"/>
</asp:LinkButton>
</p>

在这种情况下,理想情况下,图像和标签应该出现类似

的内容

Required

但实际上它显示为

ISSUE

由于

上的图像没有处理(因为它们只是图标)

服务器端。我应该限制使用旧的方式,即使用旧的HTML控件。

非常感谢你的时间。

3 个答案:

答案 0 :(得分:0)

ASP.NET图像呈现为HTML图像,因此您应该检查ASP.NET图像的源代码,而不是ASPX代码。然后,您将能够比较两段代码,看看有什么不同。

但是,查看代码后,我可以在ASP.NET Image上看到一个ImageAlign属性,您在原始HTML图像上没有该属性。

同样在原始HTML代码中,您只需拥有Item 1,而在ASP.NET代码中,您拥有一个带有Item 1文本值的ASP.NET标签。 label呈现为span标记。相反,您应该使用Literal控件,因为这不会呈现任何HTML标记。

尝试更改为:

<asp:LinkButton ID="LinkButtonManual" runat="server" PostBackUrl="~/Category.aspx?ccat_id=152&amp;language=en-GB&amp;publication=3">
  <asp:Image id="imgLinkManual" runat="server" Width="12" Height="7" ImageUrl="~/visual/arrow-navi-right.gif" /><asp:Literal ID="LtlManual" runat="server" Text="Item 1" />
</asp:LinkButton>

答案 1 :(得分:0)

如果您在ASP控件中使用ImageAlign="Left",则与在普通HTML align="left"标记中使用<img>相同。可以在此处找到该标记的行为:

http://www.htmlcodetutorial.com/images/_IMG_ALIGN.html

我认为当您不需要服务器端交互时,最好使用html <img>标记,但您也可以删除ImageAlign="left"并获得相同的结果。

答案 2 :(得分:0)

实际上这很有用。在段落级别添加text对齐的样式属性。

块内的 style =“text-align:left”

<p class="menuitem" id="menu01" style="text-align:left">

<asp:LinkButton ID="LinkButtonManual" runat="server" PostBackUrl="~/Category.aspx?ccat_id=152&amp;language=en-GB&amp;publication=3">
<img Width="12" Height="7" alt="" src="visual/arrow-navi-right.gif.gif">
<asp:Label ID="LblManual" runat="server" Text="Item 1"/>
</asp:LinkButton>

</p>

如果我遵循这种方法,你们是否会发现任何与性能/编码风格相关的问题?