-1

我有几个textboxesdropdownlists在我的表格上。当用户提交表单时,我想在表单上保留其中的几个值,但我还想让它们在表单提交后几秒钟内不可见,以便用户知道表单已提交。我很确定您需要执行 anautopostback来更改 and 的可见性 textboxesdropdownlists但我不想执行 an,autopostback因为我会丢失我想要保留的字段。有什么选择吗?

4

1 回答 1

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?

如果您使用的是常规网站/Web 应用程序项目,如果您启用视图状态(默认情况下启用),您的数据将保持不变。

要禁用/启用视图状态,请参阅以下 ASPX 标头:

<%@ Page Language="C#" EnableViewState="false" %>
<%@ Page Language="C#" EnableViewState="true" %>

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

于 2012-07-17T22:30:02.833 回答