
いつも大変にお世話になっています。
今回も例によってASP.NET MVCの質問です。
ASP.NET MVCでは、Htmlヘルパーを使用してビューを記述するのが常識かと思います。
例)
@Html.Textbox("name", Model.name)
今回、デザイナが加わる仕事で、完成後にデザイナ側でフォーム訂正が必要になることが予想されます。
またその際、デザイナから「できるだけ独自仕様(Lazorのこと?)のテンプレートを使用しないように」とのお達しがあったため、苦慮しております。
質問です。
Htmlフォームヘルパーを使わずに、純粋なHTML記述を行った場合、どのような支障が考えられますか?
要件:
@Html.Textbox("name", Model.name)
と書かずに。
<input type="text" id="name" name="name" />
と(HTML展開後の文法で)書く場合の違いを知りたい
です。同じ動作をするのでしょうか?また、違いの程度は?
です。なにとぞよろしくお願いします。
No.1ベストアンサー
- 回答日時:
ヘルパーといっても結局はHTMLになる、ということをまずは意識してください。
なのでヘルパーを使わずにHTMLを記述した場合、普通に入力した内容を受け取るぶんには問題はでないでしょうね。
ただ、入力内容にエラーがあって、エラーメッセージを表示する必要があったら、、、さあどうします?
HTMLしかなかったら、、、どうエラーを埋め込んでいくのか、また入力された内容はどうするのか、とか考えないといけないですね。
ヘルパーを使っている場合はこのあたりをできるだけうまく(プログラムを少なくする形で)フォローしてくれます。
> 今回、デザイナが加わる仕事で、完成後にデザイナ側でフォーム訂正が必要になることが予想されます。
たぶん、ここの考え方が逆です。
まずデザイナ側に先にHTMLを組んでもらいましょう。
プログラム側はできあがったHTMLにヘルパーを組み込むということを考えて作業をすすめていきましょう。
このような形でプログラム側とデザイン側の連携がやりやすいのがMVCの良い点の一つだと思います。
この回答への補足
> まずデザイナ側に先にHTMLを組んでもらいましょう。
すいません。書き方が悪かったです。
先にデザイナがHTMLを組むのですが、その内容が変更されたり、フォームが追加になったりする予定で、その過程でRazorが敬遠されています。
(aspx系統のヘルパーも止めてくれと言われています)
エラー表示や値表示以外には、何か支障は出るでしょうか?
No.2
- 回答日時:
ヘルパー使わないと、、、どうかな。
エラーや値表示の件で作業工数が増えるだろうことは予測できます。
あと、全体の統一感をだすのに、、、なんだっけ、WebFormでいうマスターページみたいな仕組みがありますがそういうのも使えませんね。
動的なものでなければ問題ないでしょうけど、、、そしたらMVC使う意味なんてないし。
内容変更のときとかフォーム追加のときとかも、デザイナにcshtml渡す必要とかなくて、デザイナが作成したHTMLもらってそれに合わせて修正だけすればいいと思うんですが。
それじゃだめなんでしょか。
onos様、何度もありがとうございます。
もうこの件は完全なデザイン先行で、自分ではどうすることもできません。
HTMLヘルパーは極力使わない、という規約です。
@Layoutも、@Url.Contentも、@Html.TextboxもすべてNGということです。
内容変更は随時、デザイン側がcshtmlをダイレクトに直すということで、そのため、Dreamweaver等でプレビューが崩れない環境にしてほしいということです。
今回はありがとうございました。
ご意見によれば、フォーム検証に問題が出そうなので、jQuery.Validationや、jQuery.Formを勉強します。
でも、ASP.NET MVCに限らず、Symphonyなどのフレームワークでも、確かにビジュアルエディタのことは何も考えられていないので、凝ったフォームになってくるとデザイン修正が難しい面はあります。
そういうデザイナさんの立場も多少はわかるのですが。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- PHP php ログイン 1 2022/11/01 00:24
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SUN BBSの改造方法
-
電話番号を読み込むプログラム...
-
入力フォームに全角・半角スペ...
-
ラジオボタンが両方とも選択で...
-
掲示板(kentさんの所のsunbbs...
-
select値をhiddenのvalueに渡し...
-
[HTML]プルダウンメニューの横...
-
valueに ' や " を使う時
-
socketを使って外部のファイル...
-
PHPで検索ボタンを押さずに検索...
-
Error: No Recipient というエ...
-
チェックボックスの返す値
-
CGIプログラムでのボタン表...
-
「value」に2つの値をセットす...
-
検索フォーム設置時のnameの文...
-
隠しフォーム(hidden)を使いたい
-
チェックボックスとセレクトボ...
-
Lightboxの表示位置に関して質...
-
select name が反映されません...
-
横スクロールを縦スクロールに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SUN BBSの改造方法
-
perlで書いたcgiでsqliteの使い...
-
tracert ができない原因
-
perl ヒア文(print <<"EOM" ...
-
入力フォームに全角・半角スペ...
-
Windows7でVBScriptによるネッ...
-
name属性をperlに引き継ぎたい
-
sendmailのメール送信ができま...
-
チェックボックスでのor検索
-
CGI(Perl)内での必須項目チェ...
-
CGIで合計を書き出す方法
-
日本語文字化け(GETメソッド?)
-
KENTWEBのBASIC認証について
-
【CGI】画像の表示の仕方【Mini...
-
配列をグループ化して出力したい。
-
Perlでuse socketを使用してフ...
-
文字って数字で表現・・・
-
yoyaku.cgi の改造
-
掲示板(kentさんの所のsunbbs...
-
ラジオボタンが両方とも選択で...
おすすめ情報