ты пробовал это?
Session.Abandon(); // The Abandon method destroys all the objects stored in a Session object and releases their resources.
Session.Remove("YourItem"); //just removes current values
Session.Clear();// just removes all values
https://stackoverflow.com/a/5330288/7262120
public class VerifyUserAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var user = filterContext.HttpContext.Session["UserID"];
if (user == null)
filterContext.Result = new RedirectResult(string.Format("/User/Login?targetUrl={0}",filterContext.HttpContext.Request.Url.AbsolutePath));
}
}
[VerifyUserAttribute]
public ActionResult Index()
{
if(Session["UserID"]==null)
{
return RedirectToAction("Index2","Login");
}
else
{
TempData["usersession"] = Session["UserID"].ToString();
}
return View();
}
Да, Rich получил его (я кодировал эту функцию в FogBugz долго назад).
Если необходимо сделать это на клиенте, у Вас нет выбора, кроме как отсортировать данные, выполнить итерации через него генерирующий строку таблицы после строки таблицы, и каждый раз, когда Вы поражаете новое значение вида, Вы создаете новый thead w/соответствующая информация.
Чтобы быть честным, это была бы довольно прохладная модификация к этому плагину jQuery: http://tablesorter.com/docs/ и Вы смогли бы усилить большую их работу. Если Вы собираетесь вставить время и создать общее решение, мог бы также сделать это доступным для сообщества.
Не зная конкретно, как Ручей Вуали выполняет это, способ, которым я сделал бы это, состоит в том, чтобы произвести заголовок таблицы, затем выполнить итерации через список, произведя нижний колонтитул и новый заголовок каждый раз измененное значение группы.
Не уверенный, что ответ, Вы ожидаете. SQL-запрос для этого просто использовал бы упорядочивание на выбранном столбце, и UI запустит новую таблицу каждый раз это значение изменения.
Вот снимок экрана FogBugz с этой сортировкой после нажатия на Столбец приоритета.
http://img297.imageshack.us/img297/6974/76755363ee3.png
Конечно, запуск новой таблицы не имеет смысла для каждого столбца (заголовок, случай #).
Править: Если я понимаю правильно, Вы ищете путь, как сделать это в браузере, не загружая новую страницу. Если это верно, я предложил бы по крайней мере некоторую поддержку серверной стороны, которая возвратит Ваши данные в правильном порядке, и правильно структурированный для подтаблиц (в xml/json/whatever, который Вы используете). Ваш JavaScript будет использовать эти данные для воссоздания таблиц. Я уверен, что другие с большим веб-ui опытом предоставят Вам лучшие ответы.
Я использовал Поддающийся сортировке сценарий Таблиц от Kryogenix с некоторыми хорошими результатами.
Я не знаю, релевантно ли это, но мы храним результаты запроса во временной таблице в SQL и затем ссылку current-row-less-one, чтобы видеть, изменилась ли Категория и указывает на это в resulset.
В некоторых случаях мы "указываем" на это со столбцом, содержащим
<tr><td colspan=999>Category Heading</td></tr>
так, чтобы веб-страница могла просто "ввести" это в таблицу, она создает.
SELECT Col1, Col2, ...,
[CATEGORY] = CASE WHEN T1.CategoryCol <> COALESCE(T2.CategoryCol, '')
THEN '<tr><td colspan=999>' + T1.CategoryCol + '</td></tr>'
ELSE ''
END
FROM #MyTempTable AS T1
LEFT OUTER JOIN #MyTempTable AS T2
ON T2.ID = T1.ID - 1