![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
いつも勉強させてもらっております。
ASP.NET MVC3で、ビューに渡すモデルを用意するのですが、最近javascriptをよく使うので、一発で展開できるようにできないかと思っています。
現在は、いったん起動後、jQueryで、Ajax JSONで取得しています。こちらだとすぐjavascriptのオブジェクトが取得できるので。
javascriptで一発展開というのは例えば、
public class HogeClass
{
public string moge { get; set; }
public List<string> fugas { get; set; }
}
があって、ビューモデルとして
public ActionResult HogeAction(){
var hogeObj = new HogeClass();
return View("hoge", hogeObj);
}
のようにビューへ渡して、
ビューの"hoge.cshtml"内部で、
<script type="text/javascript">
var hogeObj = <%=Model %>; // こんなので通るわけないですよね
</script>
とかできたらいいなあ、という話です。
いちいち起動のたびにAjaxで読み直すのは速度のこともあるし、気になります。
これまでは全部サーバでやってたのでこんなこと考えなかったんですが、皆さんはどうされてます?
No.2ベストアンサー
- 回答日時:
AjaxでJSON渡しをやっているんだから、同じこと(シリアライズ)をやればいいんだよ。
<script type="text/javascript">
@{
var serializer = new JavaScriptSerializer();
var value = serializer.Serialize(Model);
}
var hogeObj = @value;
</script>
JSONに渡せる程度のオブジェクトだったら、これでいけると思う。
shockazさま、ありがとうございます。
言われてみればなるほど、というか、完全なシリアライズですね!
これを思いつけなかったんです。
この方法なら、けっこう複雑なオブジェくトでも渡せるし、jsで部分的に切り出すこともできますね。。
ありがとうございます。
これで一歩、前へ進めます!
No.1
- 回答日時:
> var hogeObj = <%=Model %>; // こんなので通るわけないですよね
まあ、たしかにこのまま通りはしませんが。
Modelの中身(データ)を展開してJavaScriptのオブジェクトを生成するようなJavaScriptの
ソースを作成するようなことができればいいわけですよね。
このあたり、HogeClass専用の自分で展開するためのHTMLヘルパー(っていうんだっけかな?)を
作る、といった作業だったらそんなに難しくないような気がします。
onos様、いつもありがとうございます。
いつも悩むのですが、@.getJSONなどでJSON取得した場合は、すぐJavascriptのオブジェクトにできるのに、Model経由でJavaScriptに渡せないのが気にいりません。
Htmlヘルパーメソッドで文字列に変換する方法。。なるほど。いい考えかと。
ちょっとやってみます。
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- JavaScript JAVASCRIPT 2 2022/04/15 15:10
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- Java java final 1 2022/06/10 22:49
- JavaScript 画像の表示位置 3 2022/12/23 08:25
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
html でのテキスト結合について
その他(プログラミング・Web制作)
-
「指定されたキャストは有効ではありません。」とエラーが出てしまいます。
Microsoft ASP
-
javascriptでASPにデータを渡す
JavaScript
-
-
4
ASP.NETのコントロールの値をJavaScriptで取得
JavaScript
-
5
チェックボックス付きのテーブルから、チェックの付いた行のみの値を取得したい
JavaScript
-
6
ASP.NETでのメッセージ画面を出すには
Microsoft ASP
-
7
System.IO.Directory.GetFilesの順番
Visual Basic(VBA)
-
8
htmlでテーブル内にテキストボックスを作りたいのですが・・・
HTML・CSS
-
9
asp.net mvcを利用する場合の複数テーブルの扱い方
Visual Basic(VBA)
-
10
インスタンス参照でアクセスできない。代わりに型名?
C言語・C++・C#
-
11
テーブルの任意の列を非表示にしたい
HTML・CSS
-
12
C#でbyte配列から画像を表示させたい
C言語・C++・C#
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
google apps scriptの終了のさせ方
-
なぜmatchメソッドがエラーにな...
-
C#OpenCv V4にのエラーに関する...
-
ジェネレーターの作り方
-
ASP.NETのコントロールの値をJa...
-
JavaScriptで決まった「時刻」...
-
gas スプレッドシートがアクテ...
-
JavaScriptで平日のみをカウン...
-
イベントが初めの一回しか起き...
-
javascriptでiframeのURL変更は?
-
商品コードを入力で、商品名、...
-
GoogleMapで設定したルート上の...
-
【javascript】正規表現で括弧...
-
javascriptでテーブルに追加し...
-
ホームページの最終更新日を他...
-
JavaScriptで複数のCSVを取得し...
-
$("body").height();と$("body"...
-
変数と文字列からオブジェクト...
-
Strutsで半角英数字1文字以上
-
JsでDateオブジェクトの年月日...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
google apps scriptの終了のさせ方
-
C#OpenCv V4にのエラーに関する...
-
javaScriptのコードの修正をお...
-
ジェネレーターの作り方
-
翌月を取得するGASが分かりません
-
ASP.NETのコントロールの値をJa...
-
GASでundefinedエラーが出ます
-
C#で、ContextMenuStripに動的...
-
GASでGoogleフォームの自動返信...
-
ASP.NET MVCでObjectをjsに渡す
-
VSCODE[Python]の設定について
-
C# 演算 奇数と偶数 表現の仕方
-
javascriptでiframeのURL変更は?
-
イベントが初めの一回しか起き...
-
なぜmatchメソッドがエラーにな...
-
gas スプレッドシートがアクテ...
-
jqGridについて
-
var exports = exports || {}; ...
-
JavaScriptで文字列の特定文字...
-
javascriptでテーブルに追加し...
おすすめ情報