哎 我调用js生成了一个input <input class=fldInput name=\"ContactName\" value=\"\" type=text />
然后往里面输入内容,提交之后需要读取,可是调用request.form["ContactName"]却取不到值  错误为“异常详细信息:   System.NullReferenceException:   未将对象引用设置到对象的实例。”
哎 以前好用的呀 本来以为是不是request.form[]里面要用id的 试了试 还是不行啊 
哪位高手帮帮忙啊!!!!!!!! 

解决方案 »

  1.   

    1.Get提交么?
    2.用firebug调试看看你的DOM结构,input是否真的生成了捏
      

  2.   

    js生成的,不是你是post提交的么
      

  3.   

    request.form["ContactName"]取得的是html控件的name属性,不是id属性。<input class="fldInput" name="ContactName" value="" type="text" />
    string val = Request.Form["ContactName"];
      

  4.   

    是的呀 我就是用name 可是报错说 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。”
      

  5.   

    动态的不作为提交数据
    要用hidde缓存
      

  6.   


    Request.Form.GetValues("ContactName");获取的是数组 
      

  7.   

    你看看是post还是get过来的,如果不确定的话最好用Request.QuerySting[""]来获取,
    如果是get方式过来的话request.form["ContactName"]是获取不到值得
      

  8.   

    参考下:
    前台:
    <script type="text/javascript" language="javascript">
    function newInput(){
      document.getElementById("contaiter").innerHTML="<input class=fldInput name=\"ContactName\" value=\"\" type=text />";
    }
    </script>
        <title>无标题页</title>
    </head>
    <body onload="newInput()">
        <form id="form1" runat="server">
        <div>
        <div id="contaiter">
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
        </form>
    </body>
    </html>后台:
        string strTxt = "";    protected void Page_Load(object sender, EventArgs e)
        {
            strTxt = Request.Form["ContactName"];
        }    protected void Button1_Click(object sender, EventArgs e)
        {
            Response.Write(strTxt);      
        }
    测试了,可以取到值。
      

  9.   

    汗 原来自己在前面一个form里添加了enctype= "multipart/form-data " 所以之后的值就娶不到了