string userName = Request.Form["txtName"].ToString();
 string userName = Request["txtName"].ToString();这两个功能应该是相同的,我是要接收来自HTML的txtName但是为什么老在这个地方出错呢?到底是那里错了呢?很菜的问题请大家帮帮忙。。

解决方案 »

  1.   

    楼主你是获取什么,textName是什么?控件?URL参数?还是其它?
      

  2.   

    Get和Post的都可以用Request["txtName"]读取,
    Request.Form["txtName"]只能读取Post的Form中的数据。
      

  3.   

    楼主,提问应该把出错信息贴出来,这样才有利于大家解决你的问题。
    不过我估计你的出错信息是:"未将对象引用到实例......."(后面省略N字,哈哈)
    按如下方式修改你的代码:
    1.txtName必须为控件的Id值
    2.如果你的控件是Html控件,那么,请加上runat="server"属性
    It is OK!
      

  4.   

    Request.Form所能获得的东西,是Request能获的东西的子集.
      

  5.   

    textName是控件
      

  6.   

    那么又是什么控件是WEB控件还是HTML控件?
      

  7.   

    错误信息是

    未将对象引用设置到对象的实例。
    1.txtName必须为控件的Id值 
    2.如果你的控件是Html控件,那么,请加上runat="server"属性 
    这两个都做了,没用的。。
      

  8.   

    1. 要么你给textName加runat=server, 在后台直接就用 textName.text就可以获取控件里的值了
    2. 要么给textName加个name属性,假设这个<input type="text" name="txtName" id="textName" />,在后台request.form["txtName"].tostring()就是可以获取textName 里的值.
      

  9.   

    抱歉,上面 1 有误,改为如果你是这样定义的
    <input id="textName" type="text" runat="server" />,那么在后以获取值应该是textName.Value;
      

  10.   

    Form[""]一般只是取非服务器控件即HTML控件的值。
    服务器控件的值虽然也能取,但你要清楚有时服务器控件的ID和对应的客户端ID是不一样的。
      

  11.   

    如果确实是因为服务器端控件id与生成html代码后客户端htmlelement的id不一致造成,
    那么可以试试clientid
    string userName = Request.Form[txtName.ClientID].ToString();txtName 为那个 控件的id
      

  12.   


    首先谢谢各位的回答:下面我来揭晓正确答案:LikeCode 你的
    1.   要么你给textName加runat=server,   在后台直接就用   textName.text就可以获取控件里的值了 
    2.   要么给textName加个name属性,假设这个 <input   type="text"   name="txtName"   id="textName"   /> ,在后台request.form["txtName"].tostring()就是可以获取textName   里的值.这个回答才是对的,
    因为request获取的是name的那个值name="txtName" ,所以必须有name的值才可以获取的,谢谢你咯