2015-06-17 5 views
-1

Цель:
Удалить сеанс поиска, нажав кнопку сброса.Как удалить сеанс с помощью кнопки сброса

Задача:
Можно ли это сделать?


Адрес «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" /> 
} 

ответ

1

Ваш reset кнопка является Form Reset кнопка, которая будет только опустошить ваши поля формы, если вы хотите, чтобы кнопка будет нажата, а также и фактически опубликовать форму, у вас есть несколько способов:

способ (2 формы):

@using (Html.BeginForm("Boat", "Shipments")) 
{ 
    <input type="submit" value="Search" /> 
} 
@using (Html.BeginForm("Reset", "Shipments")) 
{ 
    <input type="submit" value="Reset" /> 
} 

путь (добавить 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 
} 

способом (через ActionNameSelectorAttribute):

https://stackoverflow.com/a/7111222/28004


P.S. Не нужно указывать FormMethod.Post, так как это значение по умолчанию.