回答編集履歴

1

追記

2018/09/23 02:02

投稿

退会済みユーザー
test CHANGED
@@ -17,3 +17,55 @@
17
17
 
18
18
 
19
19
  ASP.NET MVC では、MVC4 以降であれば Html ヘルパーに IdFor メソッドが用意されていて、それを利用することができます。その説明も上に紹介した記事にあります。
20
+
21
+
22
+
23
+ **【追記】**
24
+
25
+
26
+
27
+ 「質問内容」に直接答えてなかったので追記します。
28
+
29
+
30
+
31
+ > 一般的なチーム(企業)開発として、IDがAutoIDになってしまう対策を知りたい。(Staticにすると衝突が起きるので、Inheritが普通?)
32
+
33
+
34
+
35
+ デフォルトでは「IDがAutoIDになってしまう」と言うことはないはずです。
36
+
37
+
38
+
39
+ ASP.NET サイトの記事 ASP.NET 4 Breaking Changes / ClientIDMode Changes (URL 下記) にあるように、ASP.NET 4 からは ClientID の命名がデフォルトで Predictable となってます。
40
+
41
+
42
+
43
+ ASP.NET 4 Breaking Changes / ClientIDMode Changes
44
+
45
+ [https://docs.microsoft.com/en-us/aspnet/whitepapers/aspnet4/breaking-changes#0.1__Toc256770142](https://docs.microsoft.com/en-us/aspnet/whitepapers/aspnet4/breaking-changes#0.1__Toc256770142)
46
+
47
+
48
+
49
+ 正確に言うと、コントロールの ClientIDMode はデフォルトで Inherit だが、ページの ClientIDMode はデフォルトで Predictable なので、それを継承して結果的に Predictable になるということです。
50
+
51
+
52
+
53
+ 特に理由がなければデフォルトで問題ないと思います。問題があるとすると以下のようなケースです。
54
+
55
+
56
+
57
+ UpdatePanel と ListView
58
+
59
+ [http://surferonwww.info/BlogEngine/post/2016/11/20/linkbutton-in-listview-in-updatepanel.aspx](http://surferonwww.info/BlogEngine/post/2016/11/20/linkbutton-in-listview-in-updatepanel.aspx)
60
+
61
+
62
+
63
+ > NAMEを固定する方法を知りたい。(ClientID Modeがあるのに、NAMEを固定するモードがない?)
64
+
65
+
66
+
67
+ name は固定できません。裏技的に変える方法があるかもしれませんが、ASP.NET が name を UniqueID に設定し、サーバー側でそれを使って操作することがあるので、変えるといろいろ支障が出るはずです。
68
+
69
+
70
+
71
+ クライアントスクリプトで jQuery オブジェクトを取得したいのなら id を使ってください。