私は部分的なビューを返すアクションを持っている、と私はViewBag.property = ids
にIDのリストを保存したい(どこか一時的な)とobject HtmlAttributes
ViewBagのコントローラからIDのリスト/配列/ Jsonオブジェクトを返し、アクションリンクのhtmlAttributesに追加するにはどうすればよいですか?
、またはあるにActionLinkのにそれらを追加しますこれを行うには良い方法がありますか? partialview
@Html.ActionLink("action", ..., new { idArray = @ViewBag.myProperty })
で
public PartialViewResult MyAction() {
// do something and return a partialview
List/Array/Dictionary ids; // ?
foreach (MyClass c in List<MyClass>) {
// Doing something else but need to store the ID somewhere for the ActionLink
ids[] =c.Id ?
ids.Add(c.Id) = c.Id; ?
}
ViewBag.myProperty = ? //(e.g. some List or Array to Json?)
}
は、このことが可能であり、またはより良い代替手段はありますか?これはJsonオブジェクトをactionLinkのhtmlAttributesに渡すことができますか?
System.Web.Script.Serialization.JavaScriptSerializer oSerializer = new
System.Web.Script.Serialization.JavaScriptSerializer();
string sJSON = oSerializer.Serialize(ids);
ViewBag.myProperty = sJSON;
お礼ありがとうございます。それは有効な答えですが、私の唯一の問題は、ビュー/ページにページから離れることができる他の多くのリンクがあることです。セッションからそのキーを削除するリンクを使用しない場合、そのキーはセッションに残されます。リストは潜在的にかなり大きくなる可能性があり、我々は一般的にセッションをいっぱいにしないように試みる。 – lko
ええと、私はこれがうまくいくので答えとしてマークします、それはまさに私が探しているものではありません。誰かがJSON回答を投稿した場合は、その回答を更新します。 – lko