嗯,不知道我有没有回答到你的问题:
所有的 WebControl (例如 asp:Label) 都须要放在有 Runat="server" 属性的 Form 里。

解决方案 »

  1.   

    那么我的Form表单的Action属性该怎么办呢?难道页面只能自己回法,不能由其他页面来处理请求了
      

  2.   

    一个Runat="server"的Form是不能自己指定Action的,.NET在解析的时候会自动为这个Form指定Action.
      

  3.   

    那如果我要指定一个Action处理页面,Form下面又要用到服务器控件该怎么办呢?
      

  4.   

    如果这样修改
    <script>
        WebForm1.action="WebForm2.aspx";
        WebForm1.submit;
    </script>
    我估计会报错,因为viewstate的问题
    只好用response.redirect
    或者javascript:window.open
    提交form给别的页面,我想应该是asp时代的东西了
      

  5.   

    也可以这样
    每个页面都有一个runat=server的form
    你在那个form的外面在定一个<form action="b.aspx" id="c"></form>
    的form,这里你就可以提交这个form到别的页面了
    但是这样也许毫无意义
    因为runat=server的form里面的东西在新的页面里就没有了
    这个问题我只理解到这个程度
      

  6.   

    在form中添加一个<asp:Button id=...>
    然后在
    code_behind中添加一个
    private void TempInfo_Click(object sender, System.EventArgs e)
    {
    Response.Redirect("another.aspx?sqlWhere="+Server.UrlEncode(oldSqlWhere.ToString()));
    }然后到另一张页面aspx去取就可以
    Request.QueryString["sqlWhere"],取地址栏后的
    Request.Form["value"],去表单内的