缓存我在MVC DropDownList中其劫掠的SelectList初始化,并通过控制器填充。所述列表所在的特定页面的目标是立即向用户回复“您已选择选项X”,而无需刷新(使用Ajax)。的SelectList通过AJAX
我遇到的问题是,一些奇怪的原因,而下拉正确呈现正确,甚至会回,任何企图增加新的选项或修改以前的响应消息都是徒劳的。
笔者认为:
<script type="text/javascript" src="../../Scripts/MicrosoftAjax.js"></script>
<script type="text/javascript" src="../../Scripts/MicrosoftMvcAjax.js"></script>
<h2>Configuration</h2>
<% Using (Ajax.BeginForm("HandleConfigForm", New AjaxOptions With {.UpdateTargetId = "ConfigResults"}))%>
Select the config file you wish to view: <%= Html.DropDownList("cprotocols")%>
<br /><br />
<input type="submit" value="Submit" />
<br />
<br />
<span id="ConfigResults"></span>
<% End Using%>
我的控制器:
Function Configuration() As ActionResult
Dim configList As List(Of String) = New List(Of String)
configList.Add("A")
configList.Add("B")
configList.Add("C")
configList.Add("D")
configList.Add("test")
ViewData("cprotocols") = New SelectList(configList)
Return View()
End Function
Function HandleConfigForm(ByVal cprotocols As String) As String
Select Case cprotocols
Case "A"
Return "You picked: dat option"
Case "B"
Return "You picked: dat option B"
Case "C"
Return "You picked: wat even is C"
Case "D"
Return "You picked: choice D"
Case "test"
Return "cache"
End Select
Return [String].Empty
End Function
以前我的代码没有"test"
(既不Configuration()
也不HandleConfigForm())
;此外,如果 “A” 使用的评论说"dat option A"
。
当我打开我的网站,在下拉列表显示选项A到d,但没有测试......选择快报呃给出适当的信息,除了A帖子回复"dat option A"
而不是新的"dat option"
。
我完全不知道发生了什么其他的则是通过加载的Javascript,不知怎的,我的功能已经打破,而浏览器缓存以前的数据。除了简单地添加到configList并更改Select开关中的返回信息外,我没有对代码做任何其他更改,所以我没有看到会出现什么问题。
任何想法?