【问题标题】:How to Remove a Session Using Reset button如何使用重置按钮删除会话
【发布时间】:2015-06-18 04:27:54
【问题描述】:
目标:
按重置按钮删除 SearchData 的会话。
问题:
有可能吗?
信息:
地址“ASP.NET removing an item from Session?”并没有告诉我如何使用重置按钮来删除会话!
HTTPContext.Session["SearchBoat"]
@using (Html.BeginForm("Boat", "Shipments", FormMethod.Post))
{
<input type="reset" value="Reset" />
<input type="submit" value="Search" />
}
【问题讨论】:
标签:
c#
asp.net-mvc-4
session
【解决方案1】:
您的reset 按钮是一个Form Reset 按钮,它只会清空您的表单字段,如果您希望该按钮也被按下并实际发布表单,您有几个方式:
方式1(2种形式):
@using (Html.BeginForm("Boat", "Shipments"))
{
<input type="submit" value="Search" />
}
@using (Html.BeginForm("Reset", "Shipments"))
{
<input type="submit" value="Reset" />
}
方式 2(添加 name 并检查):
@using (Html.BeginForm("Boat", "Shipments"))
{
<input type="submit" name="submitButton" value="Search" />
<input type="submit" name="submitButton" value="Reset" />
}
public ActionResult Shipments(FormCollection form)
{
if(form["submitButton"] == "Reset") {
// reset was pressed
Session.Remove("SearchBoat"); // remove session
return RedirectToAction("Index"); // redirect
}
// submit was pressed
}
方式3(通过ActionNameSelectorAttribute):
https://stackoverflow.com/a/7111222/28004
附:无需指定FormMethod.Post,因为这是默认值。