SSブログ

ASP.NET MVC でのデータセットの永続化 [Develop]

ビュー
<input type="hidden" id="dtData" name="dtData" value="@ViewBag.dt">

コントローラ
DataSetを使わなくてもDataTableだけで出来ました

Encoding enc= Encoding.GetEncoding("UTF-8");
var dt = new MyProject.HhobbyDataTable();

if (values["dtData"] != null && values["dtData"].ToString().Length >0) 
{
  var md = values["dtData"];
  string xml = enc.GetString(Convert.FromBase64String(md));
  System.IO.StringReader xmlSR = new System.IO.StringReader(xml);
  dt.ReadXml(xmlSR);
}
else
{
  var r1 = dt.NewHobbyRow();
  r1.BeginEdit();
  r1.CODE = "A123";
  r1.NAME = "あ";
  r1.EndEdit();
  dt.AddHobbyRow(r1);

  var r2 = dt.NewHobbyRow();
  r2.BeginEdit();
  r2.CODE = "B987";
  r2.NAME = "いやん";
  r2.EndEdit();
  dt.AddHobbyRow(r2);
}

Encoding enc = Encoding.GetEncoding("UTF-8");
var sw = new StringWriter();
dt.WriteXml(sw);
ViewBag.dt = Convert.ToBase64String(enc.GetBytes(sw.ToString()));


Encoding enc= Encoding.GetEncoding("UTF-8");
var ds = new DataSet();

if (values["dtData"] != null && values["dtData"].ToString().Length >0) 
{
  var md = values["dtData"];
  string xml = enc.GetString(Convert.FromBase64String(md));
  System.IO.StringReader xmlSR = new System.IO.StringReader(xml);
  var dt = new MyProject.HhobbyDataTable();
  dt.ReadXml(xmlSR);
  // 戻りの準備
  ds = new DataSet();
  ds.Tables.Add(dt);
}
else
{
  var dt = new MyProject.HobbyDataTable();

  var r1 = dt.NewHobbyRow();
  r1.BeginEdit();
  r1.CODE = "A123";
  r1.NAME = "あ";
  r1.EndEdit();
  dt.AddHobbyRow(r1);

  var r2 = dt.NewHobbyRow();
  r2.BeginEdit();
  r2.CODE = "B987";
  r2.NAME = "いやん";
  r2.EndEdit();
  dt.AddHobbyRow(r2);

  ds.Tables.Add(dt);
}
ViewBag.ds = Convert.ToBase64String(enc.GetBytes(ds.GetXml()));






nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

Oracle Enterprise Ma..List =&gt; string[] .. ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。