使用Razor Engine在HTML上渲染图像类型的输入。
我不知道语法(有吗?)。
这是使用vanilla HTML呈现图像类型输入的方法:
<input type="file" name="image" />
但是,有了Razor,我们怎么能用这个来做?
我在网上搜索但没有结果。
答案 0 :(得分:1)
您只需将TextBoxFor
与type
属性
你建模
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")