HTML5 セマンティック マークアップが有効になっている ASP.NET MVC4 プロジェクトがあります。出力を使用@Html.EditorFor(m => m.MyDateTimeField)
する場合は、入力を使用しtype="datetime"
ます。EditorFor
HTML5 マークアップの生成を停止できるようにしたい。これどうやってするの?
現時点では、これは Opera のみの問題です。これは、他のブラウザ (私の知る限り) がサポートしていないためtype="datetime"
です。フィールドにjQueryの日付ピッカーがあるので、OperaではjQueryの日付ピッカーとブラウザの日付ピッカーの両方を取得します。
次のいずれかを使用して修正できます
。js を使用して入力タイプを変更します
b. Html.TextBoxFor(m => m.MyDateTimeField)
cを使用します。カスタム エディター テンプレートを使用する
d. datetime がサポートされているかどうかを検出するには、modernizr を使用します。サポートされている場合は、jQuery データピッカーを使用しないでください。
私が望む解決策は、で HTML5 生成を無効にすることですHtmlHelper.EditorFor
。HtmlHelper.EditorFor
プロジェクトの作成時に「html5 セマンティック マークアップ」チェックボックスをオンにしなかった場合と同じように機能させたいと考えています。
EDIT:
もう少し検索した後、モデルフィールドに適用して、html5の一致ではなくDataTypeAttribute
入力としてレンダリングするように強制できるものに出会いました。type="text"
これは潜在的な修正ですが、理想的とは言えません。EditorFor
確かにhtml5 (および同等のヘルパー)をオフにするスイッチがどこかにあるに違いありませんか?
もう少し情報:
2 つのプロジェクトがあります。最初のものは「Html5 セマンティック マークアップ」をオンにして作成され、もう 1 つはオフで作成されました。最初のものは を使用するときに html5 入力タイプを使用しますEditorFor
が、2 番目のものは使用しません。EditorFor
を削除せずに、最初のプロジェクトの動作を停止する必要がありEditorFor
ます。どこかに設定があるはず?