如题

解决方案 »

  1.   

    把form  的runat="server"去掉,再自己添加action
      

  2.   

    检查一下这里:
    <form id="Form1" method="post" runat="server" action="a.html">
    method是不是post?
    action是不是有值
    一般都能提交的!
    你的提交代码?
      

  3.   

    如果去掉runat="server"程序会报错,说asp.net控件必须包含在有runat="server"的标记内。
      

  4.   

    请问你用提交按钮是button:
    如果是的话,button的属性里有个选项postbackurl可以设定提交的页面,
    修改action,好像不行
      

  5.   

    如果有runat="server"那默认action为本页
      

  6.   

    asp.net是这样的,当然你要改是没有问题的了
    但感觉基本实并不好控制
      

  7.   

    我在按钮的事件里写了Form1.action=URl;已经能提交到指定的页面。
    可是我不知道为什么,好象提交以前已经刷新一次了。
    大家谁能告诉我为什么啊?
      

  8.   

    Page.RegisterStartupScript("onclick","<script>Form1.action='WebForm2.aspx';window.location='WebForm2.aspx';</script>");
    我是这么写的。
    可是在第二个页里取不出来值。
      

  9.   

    除非你不用服务器控件就可以把runat=server去掉。
      

  10.   

    你需要弄明白一下服务器控件的机制(runat=server)如果你要action到别处去,服务器控件就失效了当然,不是不可以,你可以提交前在客户端用javascript更改:document.forms[0].action = ....,然后提交。
      

  11.   

    不用提交按钮,用普通HTML按钮,然后写JS提交
    例如在窗体的panel中动态生成几个TEXTBOX,然后提交时候把其中的值传过去:
    <script language="javascript">
    function redrict()
    {
    var url="";
    for(i=0;i<3;i++)
    {
    url+=window.document.forms[0].item("_ctl"+i).value+"|";
    }
    window.location="webform2.aspx?name="+url;
    } </script>
    </HEAD>
    <body MS_POSITIONING="GridLayout">
    <form id="Form1" method="post" runat="server" ACTION="http://example.microsoft.com/sample.html">
    <asp:Panel id="Panel1" style="Z-INDEX: 101; LEFT: 72px; POSITION: absolute; TOP: 72px" runat="server"
    Width="176px" Height="88px" EnableViewState="False"></asp:Panel>
    <INPUT style="Z-INDEX: 102; LEFT: 128px; POSITION: absolute; TOP: 200px" type="button"
    value="Button" onclick="redrict();">&nbsp;
    </form>
    </body>
    </HTML>