1

私はasp.net mvc3アプリケーションに取り組んでいます。どこかで説明されていると思いますが、高速検索はあまり役に立ちませんでした。また、セッション変数の使用について非常に多様な意見が寄せられましたが、まだ決定を下す時間が少しあります。

問題は、画像ギャラリーに画像が表示され、権限を持つユーザーが1つまたは複数の画像を削除できるかみそりのビューがあることです。ただし、ユーザーがボタンをクリックしたときに各画像を削除することはできません。代わりに、ユーザーから「削除」された画像の ID を収集する必要があります (画像を保持する span タグを削除します)。削除はサービスによって実行され、一度にすべてのデータをサービスに渡す必要があります。

これはすべて内部にHtml.BeginFormあるため、送信時にデータが収集されます。その前に、それらの値を何らかの方法で保存する方法が必要です。今のところ、セッションを使用するのが最も簡単な方法のようです。私はこのようなことを試しました:

public void DeletePicture(long documentImageID)
        {
            if (documentImageID != null)
            {
                Session["imagesIdForDeleting"] = documentImageID;
            }
        }

documentImageIDしかし、単純なデバッグでは、最初に理解できませんSession["imagesIdForDeleting"]。それが構文の問題なのか、それとも実際よりも複雑にならないようにしようとしているのかはわかりません。また、このようなものを作成して実際にすべての値を保存しているのか、以前の値を書き換えてセッション変数に値を常に 1 つだけ保存しているのかはわかりません。とにかく、この権利を実装する方法を教えていただければ幸いです。

4

2 に答える 2

1

にリストを保存できますSession

例えば

    public void DeletePicture(long documentImageID)
    {
        if(Session["imagesIdForDeleting"] == null)
        {
           Session["imagesIdForDeleting"] = new List<long>();
        }

        if (documentImageID != null)
        {
            var list = (List<long >)Session["imagesIdForDeleting"];
            list.Add(documentImageID);
        }
    }
于 2013-06-03T13:14:56.507 に答える