ハイフン付きのデータ属性にアンダースコアを使用していることをよく知っています(オブジェクト内の "データバインド"ではなく "data_bind")、自動的にハイフンに置き換えられます。しかし、属性が "名前"で終わっている場合、私はこの問題を解決できないという問題にぶち当たっています。だから私はこれらの両方を試してみましたが、どちらも仕事は:私は上記の両方のケースのために、生成されたHTMLを表示すると"name"で終わるデータ属性は使用できませんか?
@Html.TextBoxFor(model => model.Street, new { data_encrypted_name = "street" })
@Html.TextBoxFor(model => model.Street, new { @data_encrypted_name = "street" })
、それが生成する:まず
<input data-encrypted- id="ViewModel_Street" name="ViewModel.Street" type="text" value="" />
、私はこれかもしれないと思いました複数のアンダースコア/ハイフンとは何かを持っているが、私は何が起こるかを確認するために、さらに2つのテストケースを試してみました、そして彼らの両方がうまく働いた:
@Html.TextBoxFor(model => model.Street, new { data_encrypted_namme = "street" })
@Html.TextBoxFor(model => model.Street, new { data_name_encrypted = "street" })
がだから、この問題が確実に関連して「名前を有すること"属性の最後に。
何か間違っていることや不足していること、またはこれが.NETの属性変換方法のバグですか?
(明確にするために、我々はブレインツリー支払いを使用して、彼らは特定の入力の「データ暗号化-name」属性を使用する必要があり、私たちはちょうど別の属性名を選択することはできません。)へ
'name'は有効なHTML属性であるため、問題が発生している可能性があります。 – tier1
ええと、まあ、そのアイデアのラインに沿って、私はdata_encrypted_idとdata_encrypted_classを試しましたが、どちらも期待どおりに働いていました。だから、それはまだ最後に "名前"と直接関係しているようです。考えてくれてありがとう! –
FYIと同じように、この動作、VS2012、MVC4、cshtmlファイルをHtml.TextboxForヘルパーで確認することはできません。 @ Html.TextBoxFor(x => x.TrapNumber、new {data_encrypted_name = "Test"})は私のために適切にレンダリングします。 "TrapNumber" name = "TrapNumber" type = "text" value = "011477" data-val-required = "トラップ番号が必要です" >。またTextAreaで問題なくテストされています。私はこれがあなたの行動に対処していないことを知っていますが、それは私にとってフレームワークの「バグ」ではないとの洞察を与えたかったのです... – Tommy