为什么不用<asp:TextBox id="TextBox1" runat="server" TextMode="MultiLine"></asp:TextBox>,然后在服务器端直接赋值
html控件如果不运行在服务器端,是没有ViewState的

解决方案 »

  1.   

    add RUNAT="server" for those two inputs?
      

  2.   


    to hgknight(江雨.net) ,saucer(思归):
       我要捕获控件的onfocus事件,如果runat="server"好像没有onfoucs事件!to saucer(思归):
       这个问题其实就是你凌晨帮忙解决的问题,现在要在此基础上加这项功能!
       帖子链接:http://expert.csdn.net/Expert/topic/1187/1187382.xml?temp=.1124079   还有,就密码编辑框的刷新保留值的问题,我也提过问!当时你建议用客户端试试。
       帖子链接:http://expert.csdn.net/Expert/topic/1164/1164495.xml?temp=.5957453   
      

  3.   

    你可以这样给Runat=server的控件加上客户端事件
    TextBox1.Attribute.Add("onfocus","TextBox1_onfocus()");
    TextBox1_onfocus()是对应的js函数或代码
    你也可以直接在html视图里写<input onfocus=,尽管会提示错误,不要管他关于保存密码,你可以这样
    string str=TextBox1.Text;
    TextBox1.Atrribute.Add("value",str);
      

  4.   

    to hgknight(江雨.net) :
    非常谢谢!可是改动很大,有很多页面有类似的情况,时间也一下子来不及!
    不过,难道是用客户端控件不行吗? 那么asp是怎么赋初始值的呢?(不好意思,我没学过asp)
      

  5.   

    asp里是用一个hidden变量保存状态值,提交时一块传送到服务器端,服务器端处理完后再发回客户端
    其实.net里Web服务器控件的ViewState也是这种机制,只不过给你自动完成了
      

  6.   

    to hgknight(江雨.net):
    不知道我这样理解这样对不对?
    应该我进行提交数据时,将数据发送到服务器端,服务器处理完后数据发回客户端,这时触发PageLoad事件,如果我这时通过Session对客户端控件进行赋值时应该能够显示出来啊,为什么没有显示呢?我理解错误了吗?请指教
      

  7.   

    提交数据时,将数据发送到服务器端,服务器首先执行PageLoad事件,然后响应用户操作,处理完后生成html静态页面发送给客户端