C# 在MVC中使用HTML助手向字符串添加类
我正在使用一个HTML助手将图像引入代码中C# 在MVC中使用HTML助手向字符串添加类,c#,asp.net-mvc,C#,Asp.net Mvc,我正在使用一个HTML助手将图像引入代码中 <div class="text-center"> @Html.ThemeImage("logo.png") </div> @Html.ThemeImage(“logo.png”) 我需要将一个类应用于此,但当我尝试时,它会说我无法将其分配给字符串。图像通过一个扩展被拉入,最后以img src的形式显示出来 我的扩展代码如下: public static MvcHtmlString ThemeImage(this
<div class="text-center">
@Html.ThemeImage("logo.png")
</div>
@Html.ThemeImage(“logo.png”)
我需要将一个类应用于此,但当我尝试时,它会说我无法将其分配给字符串。图像通过一个扩展被拉入,最后以img src的形式显示出来
我的扩展代码如下:
public static MvcHtmlString ThemeImage(this HtmlHelper helper, string fileName, string alt = "", int width = 0, int height = 0, string cssClass = "", string id = "")
{
var clientFolder = string.Format("{0}/Content/{1}/Images", HttpRuntime.AppDomainAppVirtualPath, AppSettings.ClientName);
var fullFileName = string.Format("{0}/{1}", clientFolder, fileName);
var builder = new TagBuilder("img");
builder.MergeAttribute("src", fullFileName);
if (alt != "")
{
builder.MergeAttribute("alt", alt);
}
if (width != 0)
{
builder.MergeAttribute("width", width.ToString());
}
if (height != 0)
{
builder.MergeAttribute("height", height.ToString());
}
if (cssClass != "")
{
builder.MergeAttribute("class", cssClass);
}
if (id != "")
{
builder.MergeAttribute("id", id);
}
//var imgString = String.Format("<img src='{0}' alt='{1}' width='{2}' height='{3}' class='{4}' id='{5}'/>", fullFileName, alt, width, height, cssClass, id);
return MvcHtmlString.Create(builder.ToString(TagRenderMode.SelfClosing));
}
public static MvcHtmlString ThemeImage(此HtmlHelper,字符串文件名,字符串alt=”“,int-width=0,int-height=0,字符串cssClass=“”,字符串id=”“)
{
var clientFolder=string.Format(“{0}/Content/{1}/Images”,HttpRuntime.AppDomainAppVirtualPath,AppSettings.ClientName);
var fullFileName=string.Format(“{0}/{1}”,clientFolder,fileName);
var builder=新标记生成器(“img”);
builder.MergeAttribute(“src”,fullFileName);
如果(alt!=“”)
{
builder.MergeAttribute(“alt”,alt);
}
如果(宽度!=0)
{
builder.MergeAttribute(“width”,width.ToString());
}
如果(高度!=0)
{
builder.MergeAttribute(“height”,height.ToString());
}
如果(cssClass!=“”)
{
builder.MergeAttribute(“类”,cssClass);
}
如果(id!=“”)
{
builder.MergeAttribute(“id”,id);
}
//var imgString=String.Format(“”,fullFileName,alt,width,height,cssClass,id);
返回MvcHtmlString.Create(builder.ToString(TagRenderMode.SelfClosing));
}
Use AddCssClass()方法?我需要能够在.cshtmlchangebuilder.MergeAttribute(“class”,cssClass)中编写它代码>到builder.AddCssClass(cssClass)代码>谢谢你的帮助。斯蒂芬的回答奏效了。