54

具体的には、以下の正確な例に基づいて、Bootstrapスタイルのテキストボックスを作成しようとしています。

<input class="span3" type="email" required>

これが私がこれまでに持っているものです:

@Html.TextBox("CustomerEmail", null, new { @class = "input-xlarge", type = "email", required = "required" })

ただし、required = "required"明らかに。だけでは返されませんrequired

だから、私の質問は、Html.Textboxを使用するときに上記の最初の例のように必要なものを強制的に返す方法はありますか?

4

4 に答える 4

78

私はあなたがこのように使うべきだと思います

 @Html.TextBoxFor(model => model.Name, new { @class = "text", type = "email", required = "required" })

これはあなたを助けると思います。

于 2013-01-11T11:20:38.057 に答える
20

試す

new { required = string.Empty}

余談ですが、W3Cのドキュメントによるとrequiredブール属性であり、次のように引用します。

要素にブール属性が存在する場合は真の値を表し、属性が存在しない場合は偽の値を表します。属性が存在する場合、その値は空の文字列か、属性の正規名とASCIIの大文字と小文字を区別しない一致であり、先頭または末尾に空白がない値である必要があります。

したがって

required
required="required"
required=""

すべて同じことを意味します。

于 2014-03-12T00:30:59.293 に答える
2

テキストボックスに別のクラスを適用したようですがinput-xlarge、目的のマークアップでは。と呼ばれspan3ます。

それで:

@Html.TextBox(
    "CustomerEmail", 
    null, 
    new { 
        @class = "span3", 
        type = "email", 
        required = "required" 
    }
)

必要な部分に関する限り、ここでの正しい構文はですrequired="required"。そうでない場合、HTMLが壊れてしまいます。

于 2013-01-11T11:23:19.633 に答える
1

使用できることに気づきました。

required="true"

興味深いのは、VisualStudio2015に関係なく警告メッセージが表示されることです。これは更新の必要性に関する問題ではないかと思います。

警告メッセージ:

Severity    Code    Description Project File    Line    Suppression State
Message     Validation (ASP.Net): Attribute 'required' is not a valid attribute of element 'TextBox'.
于 2016-04-12T21:12:29.543 に答える