使用Razor Engine输入图像类型

时间:2013-08-19 13:15:08

标签: c# html razor

目标

使用Razor Engine在HTML上渲染图像类型的输入。

问题

我不知道语法(有吗?)。

场景

这是使用vanilla HTML呈现图像类型输入的方法:

<input type="file" name="image" />

但是,有了Razor,我们怎么能用这个来做?

知识

我在网上搜索但没有结果。

3 个答案:

答案 0 :(得分:1)

您只需将TextBoxFortype属性

一起使用即可

你建模

public HttpPostedFileBase MyImageFile { get; set; }

在你的视图中

@Html.TextBoxFor(m => m.MyImageFile , new { type = "file" })

答案 1 :(得分:1)

您可以使用以下静态助手和TagBuilder进行渲染

public static MvcHtmlString InputFile()
        {
            TagBuilder builder = new TagBuilder("input");
            builder.MergeAttribute("type", "file");
            builder.MergeAttribute("name", "image");

            return MvcHtmlString.Create(builder.ToString(TagRenderMode.SelfClosing));
        }

答案 2 :(得分:1)

我在helpers.cshtml中只有一个通用App_Code,我添加了这样的小脚本。如果你绑定到一个对象或有一个uri,你可以重载/重写它。

<强> helpers.cshtml

@helper ImageInput(string image, string name = null) {
    <input type="image" src="@image" name="@name" />
}

视图中的用法

@helpers.ImageInput("/images/mypic.png")