asp.net - 存储会话的复选框信息

时间:2014-05-19 17:15:02

标签: c# javascript asp.net viewbag

我有一个项目列表,用户可以检查:

@for (int i = 0; i < items[].Length - 1; i++)
{
    <div>
        <a href="#" class="items-link">Selected Items</a>
        <span>
            <input type="checkbox" data="@item" class="items-checkbox" />
        </span>
    </div>
}

当用户检查某个项目时,链接网址会更新为通过javascript:

包含该项目
var url = "/checked-items/?";

for (var i = 0; i < itemsThatAreChecked.length; i++) {
    url += "item=" + itemsThatAreChecked[i] + (i == itemsThatAreChecked.length - 1 ? "" : "&");
}

$(".items-link").attr("href", url);

但是,我想扩展此功能,以便用户选择的项目在整个会话期间都可用。 ViewBag是否是存储此信息的合适选择?可以通过javascript更新信息(即,当项目被选中时,将其添加到列表中,当未选中时,将其从列表中删除)

3 个答案:

答案 0 :(得分:0)

当用户单击列表中的某个项目进行更新时,您需要做的就是调用一个函数     itemsThatAreChecked [] 然后,当他们单击提交时,另一个JS函数可以使用已检查的项构建URL。

答案 1 :(得分:0)

尝试使用TempData而不是ViewBag。

答案 2 :(得分:0)

您需要做的就是在用户单击列表中的一个项目以更新itemsThatAreChecked []时调用一个函数,然后在他们单击“提交”时,另一个JS函数可以使用已检查的项目构建URL。