我对 Mvc 还很陌生,在尝试使用 Image 作为 Ajax Action 链接时遇到了问题。我找到了一个助手,我相信它是由 Stephen Walther 发布的……
using System.Web.Mvc;
using System.Web.Mvc.Ajax;
namespace Helpers
{
public static class ImageActionLinkHelper
{
public static string ImageActionLink(this AjaxHelper helper, string imageUrl, string altText, string actionName, object routeValues, AjaxOptions ajaxOptions)
{
var builder = new TagBuilder("img");
builder.MergeAttribute("src", imageUrl);
builder.MergeAttribute("alt", altText);
var link = helper.ActionLink("[replaceme]", actionName, routeValues, ajaxOptions);
return link.Replace("[replaceme]", builder.ToString(TagRenderMode.SelfClosing));
}
}
}
但是,我使用的版本中不存在“替换”方法。(可能是 Mvc2 问题,因为我相信他的联系人管理器应用程序是 MVC1 应用程序??)快速搜索文档,我发现“替换”方法已过时,建议使用“MvcHtmlString.Create()”我试过使用该方法的此帮助程序中的许多组合,我无法获得使用图像渲染的链接。我会得到一个指向正确动作/控制器的链接和作为纯文本的 img 标签,反之亦然,一个正确呈现的 img 与链接作为纯文本。
就像我尝试的几乎所有组合的旁注一样,我返回的是 MvcHtmlString 类型,而不是此特定帮助程序中列出的标准字符串。