Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 标记部分的MvcHtml帮助程序_C#_Html_Asp.net Mvc_Html Helper - Fatal编程技术网

C# 标记部分的MvcHtml帮助程序

C# 标记部分的MvcHtml帮助程序,c#,html,asp.net-mvc,html-helper,C#,Html,Asp.net Mvc,Html Helper,我有这个: public static class CustomHelpers { public static MvcHtmlString ImageTag(this HtmlHelper html, Size s, string fName) { var fPath = ""; //some other code to generate path ... var imgTag =

我有这个:

public static class CustomHelpers
    {
        public static MvcHtmlString ImageTag(this HtmlHelper html, Size s, string fName)
        {
            var fPath = "";
            //some other code to generate path ...

            var imgTag = new TagBuilder("img");
            imgTag.Attributes.Add("src", "~/Images/" + s.Width + "/" + s.Height + "/" + fName);

            return new MvcHtmlString(imgTag.ToString());
        }
    }
在标记中:

@Html.ImageTag(new System.Drawing.Size(100,100),"test.jpg")
生成以下内容:

<img src="~/Images/100/100/test2.jpg">

您可以为UrlHelper类创建扩展方法:

public static string GetImageUrl(this UrlHelper urlHelper, Size s, string fName)
{
    return urlHelper.Content("~/Images/" + s.Width + "/" + s.Height + "/" + fName);
}
然后在您的视图中使用它:

<img src="@Url.GetImageUrl(new Size(100,100),"test.jpg")">

您正在尝试渲染此内容吗

<img src="@getImagePath(size(100,100),"test.jpg")">

您不能使用Razor生成更多的Razor(当然,您可以,但第二个Razor不会被执行,它只会被写为纯文本)。现在还不清楚你想在这里实现什么。我不想要嵌套的razor,实际上我有一个方法来动态生成我的图像路径。(因为当网页温度改变时,我必须再次更改代码)需要一种方法来获取大小和图像名称,如果它不存在于它的文件夹中,如100/100文件夹,则以该大小生成它?那么,您希望代码动态调整图像大小?那么,为什么要包含大量与MVC相关的无用信息呢?
<img src="@Url.GetImageUrl(new Size(100,100),"test.jpg")">
<img src="@getImagePath(size(100,100),"test.jpg")">
imgTag.Attributes.Add("src", "@getImagePath(size(" + s.Width + "," + s.Height + "),\"" + fName+"\")");