Я решил это с помощью html helper
но я бы порекомендовал использовать TagBuilder для этого.
/// <summary>
/// Create image representation of boolean in form of
/// </summary>
/// <param name="html">The HTML.</param>
/// <param name="boolValue">if set to <c>true</c> [bool value].</param>
/// <param name="path">The path.</param>
/// <param name="alt">The alt.</param>
/// <returns>
/// html img tag
/// </returns>
public static string ImageForBool(this HtmlHelper html, bool boolValue, string path,ImageAlt alt)
{
string trueVal = "tick";
string falseVal = "x";
string img = "<img src=\"{0}\" {1}/>";
string altTag = string.Empty;
path += "Content/Actions/";
if (boolValue)
{
altTag = (alt == null) ? "" : "alt=\"" + alt.trueOption + "\"";
return string.Format(img, Path.Combine(path, trueVal) + ".png", altTag);
}
else
{
altTag = (alt == null) ? "" : "alt=\"" + alt.falseOption + "\"";
return string.Format(img, Path.Combine(path, falseVal) + ".png", altTag);
}
}
эта опция, возможно, лучшая для вас
Альтернативный способ
используйте ссылку на действие html и используйте string.replace
используя ваш код:
string tag = Html.ActionLink("[toReplaceWithImage]", "ChangeCulture", "Account",
new {lang = "en", returnUrl = this.Request.RawUrl }, null).ToString()
tag.Replace("[toReplaceWithImage]", "<img src=\"path\">");