1

基本的に私の目的は、JQuery を使用して x & y マウス座標をコントローラーにポストバックし、そこで 2 つの値が配列/リストに追加され、それがセッションに追加されることです。

各座標を含む XML 文字列を作成する前に、一連の 60 回のクリック (およびその後のコントローラーへのポストバック) を反復処理したいと考えています。

これに沿った何か:

<xml>
<click1>
 <xpos>45</xpos>
 <ypos>55</ypos>
</click1>
<click2>
 <xpos>45</xpos>
 <ypos>55</ypos>
</click2>
</xml>

各ポストバックの後に個々のマウス クリックを保存する最善の方法がわからないので、おそらくセッションと多次元配列/リストがこれに適していると思いましたか? また、セッションをリストに変換し、必要に応じて XML を組み立てる方法についても少し混乱しています。

誰かが私を正しい方向に向けることができますか?

どうもありがとう!

サイクス。

4

1 に答える 1

1

タイプ のディクショナリを作成することでこれを解決しました。MouseCoordinates は、xposition と yposition の 2 つの文字列値を受け入れるクラスを参照します。

次に、Dictionary をセッションに配置し、新しい値を追加する必要があるときに Dict として再キャストしました。

最後に、クリックのサイクルの最後に辞書をループして、すべての値を取得しました。

このコードが誰かに役立つことを願っています:

var coords = new Dictionary<int, MouseCoordinates>();

HttpContext.Session.Add("coords", coords);

// Accessing Dictionary From Session
var coords = (Dictionary<int, MouseCoordinates>)HttpContext.Session["coords"];

// Adding Values using a integer stage that's posted back to the controller
coords.Add(currentStage, new MouseCoordinates { xposition = xpos, yposition = ypos });

// Looping through the session at the end of the cycle
            foreach (var ords in coords)
            {
                var qnode = ords.Key;
                var xvalue = ords.Value.xposition;
                var yvalue = ords.Value.yposition;
            }
于 2012-06-15T14:25:11.240 に答える