teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

追記の補足

2019/01/24 01:15

投稿

tkta
tkta

スコア21

title CHANGED
File without changes
body CHANGED
@@ -75,7 +75,7 @@
75
75
  <input class="text-box single-line" id="m_MEMBER_0___BOSS_NAME" name="m.MEMBER[0].BOSS.NAME" type="text" value="安藤" />
76
76
  ```
77
77
 
78
- と同様のコードが表示されており、id属性値もエンコード???が起きてしまってます。
78
+ と同様のコードが表示されており、id属性値もエンコード???が起きてしまってます(TextBoxForでも同じ状況です)
79
79
  modelの書き方が原因な気もしてきましたが、
80
80
  SurferOnWwwさんにこれ以上お手数をおかけするわけにもいかないので、
81
81
  この部分は気にしないでください。

2

追記を追加

2019/01/24 01:15

投稿

tkta
tkta

スコア21

title CHANGED
File without changes
body CHANGED
@@ -38,4 +38,64 @@
38
38
 
39
39
  **__画面イメージ__**
40
40
  ![イメージ説明](04995550e6760ae8bf8ecea29c37f178.png)
41
- ![イメージ説明](418466dc1087b480f2015c86e4f3c45e.png)
41
+ ![イメージ説明](418466dc1087b480f2015c86e4f3c45e.png)
42
+
43
+ **__追記__**
44
+ > >EditorFor を利用すると、モデルのプロパティの型によってレンダリングされる html 要素が適切に選ばれる
45
+
46
+ EditorForがモデルに紐づいたフォームを作るというのは理解していたのですが、
47
+ テキストボックスならTextBoxFor、
48
+ チェックボックスならCheckBoxFor、
49
+ という風に、ソース上で明示した方がわかりやすいんじゃ?
50
+ と、思うことがあり、EditorForの優位性をあまり実感できていないというのが現状です……。
51
+
52
+ > >TextBoxFor の方は、ダメだったような・・・(定かではないです)
53
+
54
+ 数字入力のみのフォームに、文字を入力した際、
55
+ モデルのErrorMessageが表示されるのは確認しました。
56
+
57
+ > >idを指定しないと、「.」「[」「]」が「_」に変換されてしまうみたいで?
58
+
59
+ の件ですが、
60
+ Viewのコード↓
61
+
62
+ ```View
63
+
64
+ @Html.EditorFor(m => m.MEMBER[num].BOSS.NAME)
65
+ ```
66
+
67
+ をchromeの開発者ツールで確認してみたところ、下記のように表記されていて、
68
+ ```html
69
+ <input class="text-box single-line" id="m_MEMBER_0___BOSS_NAME" name="m.MEMBER[0].BOSS.NAME" type="text" value="安藤">
70
+ ```
71
+
72
+ internet explorerの開発者ツールで確認してみても、
73
+
74
+ ```html
75
+ <input class="text-box single-line" id="m_MEMBER_0___BOSS_NAME" name="m.MEMBER[0].BOSS.NAME" type="text" value="安藤" />
76
+ ```
77
+
78
+ と同様のコードが表示されており、id属性値もエンコード???が起きてしまってます。
79
+ modelの書き方が原因な気もしてきましたが、
80
+ SurferOnWwwさんにこれ以上お手数をおかけするわけにもいかないので、
81
+ この部分は気にしないでください。
82
+
83
+ > それも紹介した記事「コレクションのデータアノテーション検証」に例が出ていますが、以下のようにすれば良いはずですけど・・・
84
+ > 私のレスをきちんと読んでもらっているでしょうか? 読んだけど意味不明だったということでしょうか?
85
+
86
+ いや読んではいるのですが、
87
+ ```View
88
+ @Html.ValidationMessageFor(m => m.CountryList[i].Name)
89
+ ```
90
+ に、クラス属性を与えたく、
91
+ ```View
92
+ @Html.ValidationMessageFor(m => m.CountryList[i].Name,new{@class="text-danger"})
93
+ ```
94
+ と、するとエラーが出てしまい、
95
+ クラスの付与の仕方がわからず、困り果てコメントのコードに達しました。
96
+
97
+ 最終的には、
98
+ ```View
99
+ @Html.ValidationMessageFor(m => m.CountryList[i].Name,"",new{@class="text-danger"})
100
+ ```
101
+ との形にすれば、class属性を付与できると発見しました。

1

画像イメージ追加

2019/01/24 01:14

投稿

tkta
tkta

スコア21

title CHANGED
File without changes
body CHANGED
@@ -34,4 +34,8 @@
34
34
  **__補足__**
35
35
  nameの箇所以外、不必要そうなところは削除していますので「こういうhtmlにはならない、おかしい」と思われるかもしれませんが、そこはスルーしてください。
36
36
  知りたいことは、htmlヘルパー(TextBoxFor)を使用した際にnameを指定することが可能なのか、もし可能ならその方法を知りたい、ということです。
37
- よろしくお願いします。
37
+ よろしくお願いします。
38
+
39
+ **__画面イメージ__**
40
+ ![イメージ説明](04995550e6760ae8bf8ecea29c37f178.png)
41
+ ![イメージ説明](418466dc1087b480f2015c86e4f3c45e.png)