Наличие странных проблем с ASP MVC, развернутым на IIS6 (Windows 2003). Я упростил код контроллера до следующего:
<AcceptVerbs(HttpVerbs.Get)> _
Public Function CloseBatches() As ActionResult
ViewData("Title") = "Close Batches"
ViewData("Message") = Session("Message")
Return View()
End Function
<AcceptVerbs(HttpVerbs.Post)> _
Public Function CloseBatches(ByVal RequestId As String) As ActionResult
Session("Message") = "Yadda yadda blah"
Return RedirectToAction("CloseBatches")
End Function
Контроллер изначально делал больше, конечно, но ограничился этим, чтобы попытаться устранить неполадки. Страница имеет базовый HTML-код ViewPage (ссылка на главную страницу и т. Д.), А затем;
<p><%=ViewData("Message")%></p>
<%Using Html.BeginForm("CloseBatches", "Home", New With {.RequestId = "Close"})%>
<input type="submit" id="Close" value="Close"/>
<%End Using%>
Как вы можете видеть, я пытаюсь использовать шаблон Post-Redirect-Display, который сейчас кажется наиболее подходящим. Проблема в том, что когда вы нажимаете кнопку, сообщение не появляется, независимо от того, сколько раз вы нажимаете кнопку. Однако, если вы выполняете обновление / F5, текст действительно появляется - затем обновите снова, и он исчезнет - обновите снова, и он появится - повторите!
У меня были точки останова на обеих функциях контроллера, и они попадают в них в правильных точках, я прошел по коду и никаких ошибок не происходит, поэтому необходимо заполнить ViewData, но страница просто не всегда показывает это !
Протестировано с IE7 и FF3 - последний кажется немного более прерывистым, поскольку иногда он работает!
Есть идеи? Что-то очевидное, что мне не хватает? Может ли происходить какое-то странное кеширование?
Спасибо.