上記のような流れで作成したいのですが、うまくできません。
うまくできませんだけでは何がどううまくいかないのか分かりません。
質問者さんが○○〇を期待して、△△△を試したが、結果は×××となってしまって、期待したこととは□□□が異なる・・・というような情報を提供できないですか?
・・・と注文を付けるばかりでは何ですので、想像を膨らませてみましたが、以下のようなことですか?
1 で作成して 2 に渡した「JavaScriptオブジェクト」を 3 に渡したいが、3 で取得することができない。
そういう場合は、ASP.NET では Session を使います。MVC にはそのスマートラッパーとして TempData ディクショナリというのがありますので、それを使う方が少し効率的です。
詳しくは以下の記事の「アクション メソッド間での状態の受け渡し」のセクションを見てください。
ASP.NET MVC アプリケーションでのデータの受け渡し
https://msdn.microsoft.com/ja-jp/library/dd394711(v=vs.100).aspx
私の想像がハズレの場合は、質問者さんが○○〇を期待して、△△△を試したが、結果は×××となってしまって、期待したこととは□□□が異なる・・・というような情報を提供してください。
*********** 追記 ***********
2017/03/03 18:32 の私のコメントで「詳しいことは後で回答欄に追記します」と書きましたが、それを以下に書きます。
質問者さんはチュートリアルなどを参考に CRUD 操作ができるサンプルを作ったことがありますか?
もしなければ、たとえば、以下のチュートリアルに従って作ってみてください。DB First で EDM を作って、それをベースに Visual Studio のスキャフォールディング機能を使うと、自分では一行もコードを書かなくても、CRUD 操作に必要な Controller と View のソースコードが一式自動生成されます。
10 行でズバリ!! ASP.NET MVC を構成する各コンポーネントとネーミング ルール (C#)
https://code.msdn.microsoft.com/10-ASPNET-MVC-C-8566eeb5/
例えば、Controller は以下のようになります(一部のみアップしています)。それに対応する View のコードも自動生成されます。
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using AdventureWorksLT;
namespace Mvc4App.Controllers
{
public class Address2Controller : Controller
{
private AdventureWorksLT_DataEntities db = new AdventureWorksLT_DataEntities();
// ・・・中略・・・
//
// GET: /Address2/Create
public ActionResult Create()
{
return View();
}
//
// POST: /Address2/Create
[HttpPost]
public ActionResult Create(Address address)
{
if (ModelState.IsValid)
{
db.Address.AddObject(address);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(address);
}
}
}
これが基本です。
たぶん、質問者さんは、上の例で言うと return RedirectToAction("Index"); のところで無理やり(?)「JavaScriptオブジェクト」を渡そうとしておかしな結果になっているのではないかと思います。
「JavaScriptオブジェクト」は上の回答で書いたように TempData を使って渡してください。基本を守ればうまくいくはずです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/03 06:56
退会済みユーザー
2017/03/03 09:32
2017/03/04 07:05