我正在通过我继承的一些c#代码,并尝试在链接中显示图像;这是有效的行,并显示图像,但我需要将其包装在一个链接中。
Response.Write(Html.PropImage(item.MainImage.ImageUrl095, item.AccomName));
我后来注意到有一个链接元素,所以我想我可以复制它(因为它是我需要的正确链接)并将它包装在HTML.PropImage行周围。就像这个
Html.PropRefLink(item.AreaName, item.AccomName, item.AccomCode, Html.PropImage(item.MainImage.ImageUrl095, item.AccomName), (string)ViewData["PDate"], (string)ViewData["PDuration"], (string)ViewData["PSleeps"]);
我删除了response.write,因为它打破了页面,我怎么能在链接中呈现html.propimage?
由于
答案 0 :(得分:0)
由于该功能仅允许链接文本(或者从您的评论中看起来如此),因此最好的选择是使用平面HTML。将链接文本更改为:
"<img src=\"" + item.MainImage.ImageUrl095 + "\" alt=\"\" />"
这将在您的链接中呈现标准HTML图像标记,并且应该按预期工作。
答案 1 :(得分:0)
我建议您最好创建自己的Html Helper扩展方法,以创建包含在link元素中的img元素。你可以使用StringBuilder类来实现这个
基本示例:
using System;
using System.Web.Mvc;
using System.Text;
namespace MvcApplication1.Helpers
{
public static class ImageHelpers
{
public static string ImageLink(this HtmlHelper helper, string imagepath, string url)
{
StringBuilder sb = new StringBuilder();
sb.Append("<a href=\"" + url + "\">");
sb.Append("<img src=\"" + imagepath + "\" />");
sb.Append("</a>");
return sb.ToString();
}
}
}
然后,您可以在视图中调用您的扩展方法,如下所示:
<%= Html.ImageLink("imagepath","theurl") %>