回答編集履歴

1

追記

2017/03/03 10:02

投稿

退会済みユーザー
test CHANGED
@@ -35,3 +35,131 @@
35
35
 
36
36
 
37
37
  私の想像がハズレの場合は、質問者さんが○○〇を期待して、△△△を試したが、結果は×××となってしまって、期待したこととは□□□が異なる・・・というような情報を提供してください。
38
+
39
+
40
+
41
+ *********** 追記 ***********
42
+
43
+
44
+
45
+ 2017/03/03 18:32 の私のコメントで「詳しいことは後で回答欄に追記します」と書きましたが、それを以下に書きます。
46
+
47
+
48
+
49
+ 質問者さんはチュートリアルなどを参考に CRUD 操作ができるサンプルを作ったことがありますか?
50
+
51
+
52
+
53
+ もしなければ、たとえば、以下のチュートリアルに従って作ってみてください。DB First で EDM を作って、それをベースに Visual Studio のスキャフォールディング機能を使うと、自分では一行もコードを書かなくても、CRUD 操作に必要な Controller と View のソースコードが一式自動生成されます。
54
+
55
+
56
+
57
+ 10 行でズバリ!! ASP.NET MVC を構成する各コンポーネントとネーミング ルール (C#)
58
+
59
+ https://code.msdn.microsoft.com/10-ASPNET-MVC-C-8566eeb5/
60
+
61
+
62
+
63
+ 例えば、Controller は以下のようになります(一部のみアップしています)。それに対応する View のコードも自動生成されます。
64
+
65
+
66
+
67
+ ```
68
+
69
+ using System;
70
+
71
+ using System.Collections.Generic;
72
+
73
+ using System.Data;
74
+
75
+ using System.Data.Entity;
76
+
77
+ using System.Linq;
78
+
79
+ using System.Web;
80
+
81
+ using System.Web.Mvc;
82
+
83
+ using AdventureWorksLT;
84
+
85
+
86
+
87
+ namespace Mvc4App.Controllers
88
+
89
+ {
90
+
91
+ public class Address2Controller : Controller
92
+
93
+ {
94
+
95
+ private AdventureWorksLT_DataEntities db = new AdventureWorksLT_DataEntities();
96
+
97
+
98
+
99
+ // ・・・中略・・・
100
+
101
+
102
+
103
+ //
104
+
105
+ // GET: /Address2/Create
106
+
107
+
108
+
109
+ public ActionResult Create()
110
+
111
+ {
112
+
113
+ return View();
114
+
115
+ }
116
+
117
+
118
+
119
+ //
120
+
121
+ // POST: /Address2/Create
122
+
123
+
124
+
125
+ [HttpPost]
126
+
127
+ public ActionResult Create(Address address)
128
+
129
+ {
130
+
131
+ if (ModelState.IsValid)
132
+
133
+ {
134
+
135
+ db.Address.AddObject(address);
136
+
137
+ db.SaveChanges();
138
+
139
+ return RedirectToAction("Index");
140
+
141
+ }
142
+
143
+
144
+
145
+ return View(address);
146
+
147
+ }
148
+
149
+ }
150
+
151
+ }
152
+
153
+ ```
154
+
155
+
156
+
157
+ これが基本です。
158
+
159
+
160
+
161
+ たぶん、質問者さんは、上の例で言うと return RedirectToAction("Index"); のところで無理やり(?)「JavaScriptオブジェクト」を渡そうとしておかしな結果になっているのではないかと思います。
162
+
163
+
164
+
165
+ 「JavaScriptオブジェクト」は上の回答で書いたように TempData を使って渡してください。基本を守ればうまくいくはずです。