带有引导程序样式的类型文件的asp.net MVC输入属性导致奇怪的结果

BAR*_*ARJ 1 css asp.net-mvc razor twitter-bootstrap

我希望具有与上载按钮相同的样式的文件输入属性,如下图所示。上传按钮正在使用引导程序。当我使用“ TextBoxFor”将引导程序应用于按钮A时,我得到了这个看起来很奇怪的按钮。当我使用“ LabelFor”将引导程序应用于按钮B时,仅在没有文件输入属性功能的情况下,才获得所需的样式。

我的问题是,如何获取具有特定引导程序样式的文件输入字段并保持其功能。具有与应用于submitt-type属性相同的结果(样式)。我更喜欢使用html助手之一,因为我试图理解它们。

按钮A与按钮B

A:

@Html.TextBoxFor(m => m.File, new { type = "file", @class = "btn btn-default btn-file" })
Run Code Online (Sandbox Code Playgroud)

B:

@Html.LabelFor(m => m.File, new { type = "file", @class = "btn btn-default btn-file" })
Run Code Online (Sandbox Code Playgroud)

上载按钮:

<input type="submit" class="btn btn-default" value="Upload" />
Run Code Online (Sandbox Code Playgroud)

Ger*_*ani 5

这是html输入类型文件(A)的常规外观,并且外观在浏览器之间有所不同。如果要更改外观,则必须使用一些CSS来隐藏真实的输入,并使用其他伪造的东西或类似的东西。

是一个使用引导程序3的好例子。