关于JS客户端对服务器控件赋值,Post后不能保留值的解决办法

转载 2006年05月29日 15:09:00

这个问题老早以前就发现了.但是因为是个小问题.对我的影响不大,所以也没去解决..但是这两天有几个网友在MSN上询问..索性就把解决办法贴出来.给需要的朋友..

众所周知,页面在回传后,服务器控件会保存其上次的提交是值.但是用JS在客户端动态添加的值,确在服务器回传后烟消云散.尤其是对于Select联动很不方便.给我们的工作带来了极大的不便.怎么办呢??

我的做法是:前台JS赋值后,用一个Hidden保存值,并将Hidden设置runat="server"..后台需要的时候取Hidden的值就好了.这样基本的文本控件取值问题就解决了..但是我测试Select联动的时候,发现始终不能将动态添加的JS脚本设为Selected..最后做了个变通的方法.
以下是页面的完整代码:

<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="SMS.test.WebForm1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
    
<HEAD>
        
<title>WebForm1</title>
        
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
        
<meta name="CODE_LANGUAGE" Content="C#">
        
<meta name="vs_defaultClientScript" content="JavaScript">
        
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
        
<script language="javascript">
        
function add(){//填充Select中的值
            var myList = document.all.list;
            myList.options[myList.options.length] 
= new Option("11","11");
            myList.options[myList.options.length] 
= new Option("22","22");
            myList.options[myList.options.length] 
= new Option("33","33");
        }
        
        
function onchanges(){//对Hidden控件赋值
            var myc = document.all.list;
            document.all.hid.value 
= myc.options[myc.selectedIndex].value;
            
        }
        
        
function sel(){//匹配Select中的值,并设置selected
            var myc = document.all.list;
            
for (i = 0 ; i<myc.options.length;i++){//循环匹配值
            
                 
if (document.all.hid.value == myc.options[i].value){
                    myc.options[i].selected 
= true;
                    
break;
                 }
            }
        }
        
</script>
    
</HEAD>
    
<body MS_POSITIONING="GridLayout">
        
<form id="Form1" method="post" runat="server">
            
<FONT face="宋体">
                
<asp:Button id="Button1" style="Z-INDEX: 101; LEFT: 488px; POSITION: absolute; TOP: 392px" runat="server"
                    Text
="Button"></asp:Button>
                
<asp:DropDownList onchange="onchanges();" id="list" style="Z-INDEX: 103; LEFT: 288px; POSITION: absolute; TOP: 200px"
                    runat
="server">
                    
<asp:ListItem Value="请选择"/>
                
</asp:DropDownList>
                
<input type="hidden" value="" runat="server" id="hid">
                
<asp:Label id="Label1" title="aaaaa&#13;bbbbb" style="Z-INDEX: 102; LEFT: 304px; POSITION: absolute; TOP: 392px"
                    runat
="server">Label</asp:Label></FONT>
        
</form>
        
<script language=javascript>
         add();
         sel();
        
        
</script>
    
</body>
</HTML>

如果需要在后台引用.就在后台取hidden.value的值就可以了..有兴趣的朋友可以把add()放在<body>的onLoad中看看..就会产生我所说的情况了..

相关文章推荐

谈谈Asp.net网站优化二:关于 服务器控件 和 客户端控件(html标签)的选择

本文首发 http://blog.codepubs.com/archives/130 转载请注明出处       记得某次面试的时候面试官问了我这样一个问题:“谈谈你对viewstate的理解。” ...

retrofit sendto failed: ECONNRESET (Connection reset by peer)【android客户端Post请求参数长度限制(参数过大)】解决办法

最近在做图文上传功能,使用retrofit作为上传工具,当文章数超过900字(中文)时会报sendto failed: ECONNRESET (Connection reset by peer)错误,...

只读文本框(readonly textbox)不能在客户端修改值原因及解决办法

ASP.NET中 TextBox控件使用 ReadOnly="true" 属性

linux C语言 SOCKET 服务器断开导致客户端SEND崩溃问题解决办法

原文来自:http://blog.chinaunix.net/uid-24830931-id-3786670.html 一、现象描述 在利用librdkafka同kafka broker通...

server-u做的FTP服务器客户端访问文件乱码的解决办法

客户端访问现象: 处理如下: 打开Serv-U控制台,点击“限制和设置”--“为域配置高级FTP命令设置和行为” 在FTP设置中找到OPTS UTF8命令,右击禁用此命令。 点...

经典的ORA-12514与TNS-03505错误解决办法(客户端与服务器SERVER_NAME不一致所致)

今天在WIN7上配置11GR2监听和服务之后遇到该错误        ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务。         TNS-03505: 无法解析名称...

Robocup Rescue1.0a 客户端长时间连接不上服务器的解决办法 ( agents connect to the Kernel slowly)

自从Robocup Rescue的服务器版本从0.49调整到1.0a,出现的问题一个接着一个。1.0a的服务器变化得太大了(sth about code write in 0.49 but will ...
  • xtj332
  • xtj332
  • 2011-07-26 14:44
  • 1192

关于客户端无法获得服务器端GP服务(Geoprocessing Service)结果的解决办法

关于客户端无法获得服务器端GP服务(Geoprocessing Service)结果的解决办法
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)