我有一个项目列表,用户可以检查:
@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更新信息(即,当项目被选中时,将其添加到列表中,当未选中时,将其从列表中删除)
答案 0 :(得分:0)
当用户单击列表中的某个项目进行更新时,您需要做的就是调用一个函数 itemsThatAreChecked [] 然后,当他们单击提交时,另一个JS函数可以使用已检查的项构建URL。
答案 1 :(得分:0)
尝试使用TempData而不是ViewBag。
答案 2 :(得分:0)
您需要做的就是在用户单击列表中的一个项目以更新itemsThatAreChecked []时调用一个函数,然后在他们单击“提交”时,另一个JS函数可以使用已检查的项目构建URL。