我的表单上有几个textboxes
和dropdownlists
。当用户提交表单时,我想在表单上保留其中的几个值,但是我也希望在表单提交后几秒钟使它们不可见,这样用户就知道表单已经提交了。我很确定你需要autopostback
来改变textboxes
和dropdownlists
的可见度,但我不想做autopostback
,因为我会失去我想保留的字段。任何替代方案?
答案 0 :(得分:0)
请你扩展你的问题,更多地了解你正在处理的事情,现在它很模糊。
至于使文本框/下拉列表“不可见”,您可以通过Javascript实现此目的:
<input type=text id=text1>
<input type=button value=hide onclick=hide()>
<input type=button value=show onclick=show()>
<script type=text/javascript>
function hide(){
document.getElementById('text1').style.visibility='hidden';
}
function show(){
document.getElementById('text1').style.visibility='visible';
}
</script>
网页是无国籍的。 Microsoft在ASP.NET 1.0中引入了ViewState以适应这种情况。我的意思是无状态是客户端(用户的计算机)和服务器(客户端正在查看的网页的主机)之间没有一致的连接。 ViewState是一种媒介,用于帮助在回发期间在表单控件上桥接此购买保留值。
如果您使用的是ASP.NET MVC,则会丢失框中的数据。 ASP.NET MVC不使用ViewState(谢天谢地)。这就是为什么建议使用ASP.NET MVC使用AJAX与服务器进行通信。如果您想了解更多相关信息,请查看以下内容: asp.net c# MVC: How do I live without ViewState?
如果您使用的是常规网站/网络应用程序项目,那么启用视图状态(默认情况下已启用)时,您的数据将保持不变。
要禁用/启用viewstate,请参阅以下ASPX标题:
<%@ Page Language="C#" EnableViewState="false" %>
<%@ Page Language="C#" EnableViewState="true" %>