c#代码中的自动后备,同时保留多个文本框和下拉列表值

时间:2012-07-17 21:55:08

标签: c# asp.net

我的表单上有几个textboxesdropdownlists。当用户提交表单时,我想在表单上保留其中的几个值,但是我也希望在表单提交后几秒钟使它们不可见,这样用户就知道表单已经提交了。我很确定你需要autopostback来改变textboxesdropdownlists的可见度,但我不想做autopostback,因为我会失去我想保留的字段。任何替代方案?

1 个答案:

答案 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" %>

视图状态: http://msdn.microsoft.com/en-us/library/ms972976.aspx