这个应该没什么问题吧?
我需要是怎么做 不是有没有问题
public static class ImageExtensions { public static MvcHtmlString ImageLink(this HtmlHelper htmlHelper, string imgSrc, string additionalText = null, string actionName = null, string controllerName = null, object routeValues = null, object linkHtmlAttributes = null, object imgHtmlAttributes = null) { var urlHelper = ((Controller)htmlHelper.ViewContext.Controller).Url; var url = "#"; if (!string.IsNullOrEmpty(actionName)) url = urlHelper.Action(actionName, controllerName, routeValues); var imglink = new TagBuilder("a"); imglink.MergeAttribute("href", url); imglink.InnerHtml = htmlHelper.Image(imgSrc, imgHtmlAttributes) + " " + additionalText; linkHtmlAttributes = new RouteValueDictionary(linkHtmlAttributes); imglink.MergeAttributes((IDictionary<string, object>)linkHtmlAttributes, true); return MvcHtmlString.Create(imglink.ToString()); } public static MvcHtmlString Image(this HtmlHelper htmlHelper, string imgSrc, object imgHtmlAttributes = null) { var imgTag = new TagBuilder("img"); imgTag.MergeAttribute("src", imgSrc); if (imgHtmlAttributes != null) { imgHtmlAttributes = new RouteValueDictionary(imgHtmlAttributes); imgTag.MergeAttributes((IDictionary<string, object>)imgHtmlAttributes, true); } return MvcHtmlString.Create(imgTag.ToString()); } }
根据你的要求改一点就可以了。
他是用collection的action輸出的。不是這種。其實在action中返回一個josn對象,就好了哦
@無限遐想: 页面一个<img>的标签内容。他要的可能就是返回一个字符串吧。
@無限遐想: 我要的不是控制器上的 是新建类
public ActionResult GetPic(int i = 0) {
var pic = "<img scr='/images/mailIcon.png' />";
return Content(pic);
}
@無限遐想: 我要的不是控制器上的 是新建类
@小码农: 不明白你的意思。
@無限遐想: 新建一个类 然后新建一个方法 这方法是比较两个数字的大小。如果大就返回HTML代码 反之 返回另一段。然后在页面上调用这个方法
public class Test{ public static string Compare(int a,int b) { if(a>b) return "<img />"; else return "<img xxxx/>"; } }
在web工程中导入这个类的dll或直接将此类写在web工程下,前端页面如果是razor引擎的你要这样写@{string str=Test.Compare(1,2);}如果是老的,你改怎么写就怎么写。