我做了一个表单,上面放了服务器控件TextBox--A,html控件文本框--B,一个html上传控件,一个验证码
现在问题是点击提交按钮后,调用程序如果发现验证码不对返回后,html控件B的内容与上传控件选择时的图片名什么的被清空了,但服务器控件TextBox--A的内容还存在,想问问有没有好的办法,即使验证出错返回的话,也能保留html控件B的内容与上传控件的内容,请大家帮忙,我查好好久的,没查到注明这两个html控件还不能改用服务器控件

解决方案 »

  1.   

    <input type="hidden" name="" value="" runat="server">
    加上隐藏域
    验证码促欧返回后用javascript来获取值
      

  2.   

    在这两个html控件的属性里边添加上  runat="server"
      

  3.   

    注明这两个html控件还不能改用服务器控件为什么不能改为服务器控件呢?建议还是用服务器控件比较好,这样在后台也方便获取其属性的相关东东
      

  4.   

    其实你两个要么全用HTML控件+AJAX提交,要想省事就都用服务器控件。
      

  5.   

    通过javascript好像只能设置文本框的值,上传框的值设置不了 <script type="text/javascript">
        
        function SetValue()
        {
          
            var textobj = document.getElementById("textbox");
            var hiddenobj = document.getElementById("<%= hiddenfiled.ClientID%>");
            if(fileobj.value!="" && fileobj.value!="")
            { 
              hiddenobj.value = textobj.value;
              return true;
            }
            else
            {
             return false;
            }
        
        } 
        
        function GetValue()
        {
          
            var textobj = document.getElementById("textbox");
            var hiddenobj = document.getElementById("<%= hiddenfiled.ClientID%>");
            if(hiddenobj.value!="")
            {
             textobj.value = hiddenobj.value;
               
              
            }
        
        }
        </script>
    <body onload="GetValue();">
        <form id="form1" runat="server">
        <div>
        <input type="file"  id="upload" />
        <input type="text"  id="textbox" />
        
        <input id="hiddenfiled" runat="server" type="hidden" />
            <asp:Button ID="Button1" runat="server" OnClientClick="return SetValue()" Text="Button" />
        </div>
        </form>
    </body>