none
FindControl的问题 RRS feed

  • 问题

  • 问题的来源:
    把一个Word表格做为模版,我将之导入到了页面上,然后在页面上对其进行了编辑处理:在空白域增加了TEXT框,并给ID按某规律赋值,完成这些工作后,将这个被编辑的表格做为用户使用时的输入页面保存起来,然后在对用户公布的页面中将其嵌入,以便让用户可以在使用时输入内容。
    问题:用户可以输入内容,但我没有办法直接通过findcontrol(id)来获得用户输入值。
    我试验过onblur方法,这是可行的,但我需要动态的生成一大批的ASP:TextBox来保存这些值。
    另外,我也知道通过取出TABLE中TD的内容,然后通过其ID来判断也能取出值
    但上面的两种方法我不到实在没办法的时候我不想采用,不知道各位朋友,有没有办法直接获得HTML控件的输入值
    另外,还有一个问题,FindControl方法是不是查找的是服务器端的设置,而不是全局查找?其所说的page是不是也仅指在Page_Load中载入的服务器的内容?
    我保存的内容情况大致如下,其中粗体部分是我加入的,在用户页面就是将其嵌入进来。
      <td width=101 colspan=2 style='width:75.75pt;border:solid windowtext 1.0pt;
      mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt;height:31.45pt'><span
      lang=EN-US style='font-size:16.0pt;mso-bidi-font-size:10.5pt;line-height:
      160%;font-family:仿宋_GB2312;mso-hansi-font-family:"Times New Roman";
      mso-bidi-font-family:"Times New Roman";color:black;mso-font-kerning:1.0pt;
      mso-ansi-language:EN-US;mso-fareast-language:ZH-CN;mso-bidi-language:AR-SA'><br
      clear=all style='page-break-before:always'>
      </span>
      <span style='mso-bidi-font-size:
      10.0pt;line-height:160%;font-family:仿宋_GB2312;mso-ascii-font-family:"Times New Roman"'>企业名称</span><span
      lang=EN-US style='font-size:12.0pt;mso-bidi-font-size:10.0pt;line-height:
      160%;font-family:宋体;mso-fareast-font-family:仿宋_GB2312'></span>
      </td>
      <td width=534 colspan=13 style='width:400.7pt;border:solid windowtext 1.0pt;
      border-left:none;mso-border-left-alt:solid windowtext .5pt;mso-border-alt:
      solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt;height:31.45pt'><input  type='text' ID='QYMC1' runat='server' style='width:90%;height:80%' onblur="return msg.innerHTML=this.value;"/></td>
      <td style='mso-cell-special:placeholder;border:none;padding:0cm 0cm 0cm 0cm'
      width=13>&nbsp;</td>
     </tr>
     <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;height:31.45pt;mso-row-margin-right:
      9.7pt'>

    补充:HTML控件如果加上runat='server'是可以通过FindControl查找的
    另外在这里边加是runat='server'好象不好使。

    2009年10月24日 16:06

答案

  • 确保你的aspx里文件里就是写的是
    <input  type='text' ID='QYMC1' runat='server' style='width:90%;height:80%' onblur="return msg.innerHTML=this.value;"/>
    而不是通过某个控件赋值成xxx.InnerHtml = "
    <input  type='text' ID='QYMC1' runat='server' style='width:90%;height:80%' onblur="return msg.innerHTML=this.value;"/> "这样的形式生成的。
    另外可以
    <input  type='text' name='QYMC1' style='width:90%;height:80%' onblur="return msg.innerHTML=this.value;"/>
    后台通过Request.Form["QYMC1 "]获取即可
    【孟子E章】
    2009年10月25日 0:59
    版主

全部回复

  • 确保你的aspx里文件里就是写的是
    <input  type='text' ID='QYMC1' runat='server' style='width:90%;height:80%' onblur="return msg.innerHTML=this.value;"/>
    而不是通过某个控件赋值成xxx.InnerHtml = "
    <input  type='text' ID='QYMC1' runat='server' style='width:90%;height:80%' onblur="return msg.innerHTML=this.value;"/> "这样的形式生成的。
    另外可以
    <input  type='text' name='QYMC1' style='width:90%;height:80%' onblur="return msg.innerHTML=this.value;"/>
    后台通过Request.Form["QYMC1 "]获取即可
    【孟子E章】
    2009年10月25日 0:59
    版主
  • 确保你的aspx里文件里就是写的是
    <input  type='text' ID='QYMC1' runat='server' style='width:90%;height:80%' onblur="return msg.innerHTML=this.value;"/>
    而不是通过某个控件赋值成xxx.InnerHtml = "
    <input  type='text' ID='QYMC1' runat='server' style='width:90%;height:80%' onblur="return msg.innerHTML=this.value;"/> "这样的形式生成的。
    另外可以
    <input  type='text' name='QYMC1' style='width:90%;height:80%' onblur="return msg.innerHTML=this.value;"/>
    后台通过Request.Form["QYMC1 "]获取即可
    【孟子E章】

    我就是用XXX.innerHtml方式生成的,
    用Request.Form["QYMC1"]得到的是空值,
    看来用这种方式生成的是没有办法直接得到控件中的值了。
    2009年10月25日 2:11
  • 如何用xxx.innerHtml的方式不行,
    有没有别的方法把另一个文件(HTML格式的)导入到aspx中来?谢谢
    2009年10月25日 2:35
  • 确保你的aspx里文件里就是写的是
    <input  type='text' ID='QYMC1' runat='server' style='width:90%;height:80%' onblur="return msg.innerHTML=this.value;"/>
    而不是通过某个控件赋值成xxx.InnerHtml = "
    <input  type='text' ID='QYMC1' runat='server' style='width:90%;height:80%' onblur="return msg.innerHTML=this.value;"/> "这样的形式生成的。
    另外可以
    <input  type='text' name='QYMC1' style='width:90%;height:80%' onblur="return msg.innerHTML=this.value;"/>
    后台通过Request.Form["QYMC1 "]获取即可
    【孟子E章】

    不好意思,看错了name了,后一种方法是可行的,谢谢
    2009年10月25日 2:41