C# 在MVC中使用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

我正在使用一个HTML助手将图像引入代码中

<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()方法?我需要能够在.cshtmlchange
builder.MergeAttribute(“class”,cssClass)中编写它
builder.AddCssClass(cssClass)谢谢你的帮助。斯蒂芬的回答奏效了。