いつも大変にお世話になっています。
今回も例によって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ランキング
-
エクセルに張り付けた写真のフ...
-
onedrive にexcelファイルをア...
-
VBAでPDFを作成する際、同じ名...
-
VB.NET Excelを読み込んでDataT...
-
C#からvbsを実行したい
-
キヤノン アソビカメラ iNSPiC ...
-
バッチで当日日付で作成される...
-
【VB.NET】App.configにファイ...
-
バッチファイルで電卓作ったの...
-
ffftpでファイル取得が0バイト...
-
VB.NET 2017の勉強中です。 今...
-
ASP.NetでWebアプリ開発の経験...
-
Excelでボタン(フォームコント...
-
連想配列を配列に格納したいで...
-
vba 空のデータをSplitする時の...
-
エクセルのファイル名をコピー...
-
Windows10にデュアルブートでXP...
-
Wi-Fiのパスワードが指定なしと...
-
【VB.NET】for each文からのINS...
-
asp.netにてgridviewの列を動的...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SUN BBSの改造方法
-
CGIメールフォームの件名について
-
perlで書いたcgiでsqliteの使い...
-
CGI(Perl)内での必須項目チェ...
-
チェックボックスでのor検索
-
入力フォームに全角・半角スペ...
-
Windows7でVBScriptによるネッ...
-
tracert ができない原因
-
配列をグループ化して出力したい。
-
電話番号を読み込むプログラム...
-
JNAVIから提供されたメー...
-
日本語文字化け(GETメソッド?)
-
文字って数字で表現・・・
-
sendmail -fオプションの指定は...
-
【ASP.NET MVC】フォームヘルパ...
-
sendmailのメール送信ができま...
-
【CGI】画像の表示の仕方【Mini...
-
添付つきメールフォーム:「an ...
-
同じname属性の結果を1行にまと...
-
太郎を太と郎に分ける方法。
おすすめ情報