如何将此图像源转换为Url.Content?

Job*_*mno 0 c# asp.net-mvc razor asp.net-mvc-3

我有以下图像以这种方式呈现.

  <img src="../../../..@Model.FloorPlan.Floor_Plan_Image_Path@Model.FloorPlan.Floor_Plan_Image_Filename" alt=""/>
Run Code Online (Sandbox Code Playgroud)

我希望如果可能的话,它的src属性将被更改为Url.Content.

我试过的是这个,但我的问题是它将我的模型视为字符串:

<img src="@Url.Content("~/Model.FloorPlan.Floor_Plan_Image_Path@Model.FloorPlan.Floor_Plan_Image_Filename")" alt=""/>
Run Code Online (Sandbox Code Playgroud)

谁能帮我?

Path和Filename的值如下:

Model.FloorPlan.Floor_Plan_Image_Path ="/ Content/Uploads/FloorPlans/00004601 /"Model.FloorPlan.Floor_Plan_Image_Filename ="testfloorplan.png"

Sil*_*ind 5

我发现自己处于这样一种情况,我需要在任何视图上格式化字符串,所以我为此做了一个扩展方法,只是为了摆脱String.Format每个View上的那些.

public static class UrlHelpers
{
    public static string Content(this UrlHelper urlHelper,
                                 string formatPath, 
                                 params object[] args)
    {
        return urlHelper.Content(String.Format(formatPath, args));
    }
}
Run Code Online (Sandbox Code Playgroud)

它只是简单地格式化指定的路径,没有什么进展,但是调用它会更好看.

@{
    var path = Model.FloorPlan.Floor_Plan_Image_Path;
    var imageName = Model.FloorPlan.Floor_Plan_Image_Filename;
}
<img src="@Url.Content("~{0}{1}", path, imageName)"/>
Run Code Online (Sandbox Code Playgroud)

  • 我喜欢这个答案.十分优雅. (2认同)