使用Razor引擎输入图像类型

本文关键字:图像 类型 输入 引擎 Razor 使用 | 更新日期: 2023-09-27 18:28:22

目标

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

问题

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

场景

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

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

但是,有了Razor,我们该如何应对?

知识

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

使用Razor引擎输入图像类型

您可以简单地将TextBoxFortype属性一起使用

您为建模

public HttpPostedFileBase MyImageFile { get; set; }

在您的视野中

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

您可以使用静态助手和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));
        }

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

helpers.cshtml

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

在您看来的使用情况

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