我很好奇:是否可以使用 JavaScript 读取 DropDownList 控件的初始状态?
假设当页面在浏览器中加载时,下拉菜单有十个选项。然后,使用 JavaScript 删除所有选项。
我可以阅读 ASP.NET ViewState 以获取最初的十个选项并恢复它们吗?
我很好奇:是否可以使用 JavaScript 读取 DropDownList 控件的初始状态?
假设当页面在浏览器中加载时,下拉菜单有十个选项。然后,使用 JavaScript 删除所有选项。
我可以阅读 ASP.NET ViewState 以获取最初的十个选项并恢复它们吗?
简短的回答是肯定的,您可以使用 JavaScript 读取视图状态值,因为它们存储在名为 的字段中__viewstate
,该字段在浏览器中呈现为如下所示的输入字段:
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="..." />
您将遇到的问题是__viewstate
值已加密。
我的建议是使用隐藏字段来存储下拉列表的值或您要存储的任何其他值,然后像这样访问值:
<input type="hidden" id="hiddenField" runat="server" value="" />
然后在您的代码隐藏中,由于输入具有runat="server"
您可以将值设置为您想要的任何值,如下所示:
hiddenField.Value= ViewState["dropdownvalues"].ToString();
最后,您可以使用 JavaScript 从隐藏字段中获取值,如下所示:
<script type="text/javascript">
function test()
{
var name = document.getElementById('hiddenField').value;
alert(name)
}
</script>