目标
使用 Razor 引擎在 HTML 上呈现图像类型的输入。
问题
我不知道语法(有吗?)。
场景
这是使用普通 HTML 呈现图像类型输入的方法:
<input type="file" name="image" />
但是,对于 Razor,我们该如何处理呢?
知识
我在网上搜索过,但没有结果。
您可以简单地使用TextBoxFor
withtype
属性
你建模
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));
}
我只是有一个通用helpers.cshtml
的App_Code
,我添加了这样的小脚本。如果你绑定到一个对象或有一个 uri,你可以重载/重写它。
帮助者.cshtml
@helper ImageInput(string image, string name = null) {
<input type="image" src="@image" name="@name" />
}
您认为的使用情况
@helpers.ImageInput("/images/mypic.png")