有一目标网站a.jsp接受username和password这两个post变量。我的页面上有两个文本框:
<asp:TextBox ID="username" runat="server" ></asp:TextBox>
<asp:TextBox ID="password" runat="server" ></asp:TextBox>
那我想提交到a.jsp,那时不是在asp:button设PostBackUrl就可以了?问题来了,这个aspx我是放在masterpage下的,出来的代码变成
<input name="ctl00$ContentPlaceHolder1$txbUserName" type="text" id="ctl00_ContentPlaceHolder1_txbUserName"/>a.jsp现在接收到的是ctl00$ContentPlaceHolder1$username,而不是原来的username,a.jsp我没有权利去修改,该如何解决这个提交问题?

解决方案 »

  1.   

    反正这个aspx不需要提交到自己的页面,那就没有必要用textbox了.用input 就可以了.
      

  2.   

    <asp:TextBox只能提交给当前页,要提交给不同的页,必须使用input中的text控件。
    <form action="a.jsp" method="post">
    <input type="text" id="username">
    <input type="password" id="password">
    <button type="submit" value="提交">
    </form>
      

  3.   

    刚刚好做了一个
    function Post(str)
    {var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    var xmldoc = new ActiveXObject("Msxml.DOMDocument");
    xmlhttp.Open("POST","PostSalesReport.aspx",false);
    xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    xmlhttp.Send(str);
    xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState==4) {
    alert(xmlhttp.responseText)
    }
    }
    if(xmlhttp.status!=200)
      {
         alert ('网络故障(xmlhttp.status='+xmlhttp.status+'),请稍后再试!');
         return false;
    }       
    var info = xmlhttp.responseText;
    info=info.substr(0,(info.indexOf('<!')));
    if(info.indexOf('成功')>0)
      {
        window.opener=null;window.returnValue =1;window.close()
    }
      alert(info);
    }
    PostSalesReport.aspx
    if(!Page.IsPostBack)
    {
    if(Request.Form["PKID"]!=null)
    {
    cDsc.Application=Server.UrlDecode(Request.Form["Application"].ToString()); 
    cDsc.End_Customer=Server.UrlDecode(Request.Form["End_Customer"].ToString()); 
    cDsc.Expect_price=Request.Form["Expect_price"].ToString(); 
    cDsc.PKID=int.Parse(Request.Form["PKID"].ToString()); 
    //cDsc.Potential=Server.UrlDecode(Request.Form["Potential"].ToString()); 
    cDsc.PP=Server.UrlDecode(Request.Form["PP"].ToString()); 
    cDsc.Projcet=Server.UrlDecode(Request.Form["Project"].ToString()); 
    cDsc.Region=Server.UrlDecode(Request.Form["Region"].ToString()); 
    cDsc.Sales=Server.UrlDecode(Request.Form["Sales"].ToString()); 
    cDsc.Status=Server.UrlDecode(Request.Form["Status"].ToString()); 
    cDsc.Type=Server.UrlDecode(Request.Form["Type"].ToString()); 
    string err=Bss.Update(cDsc);
    try
    {
    int i=int.Parse(err);
    Response.Write ("保存成功!");
    }
    catch
    {
    Response.Write (err);
    }
    }
    else
    {
    Response.Clear();
    Response.End();
    }
    }
      

  4.   

    嗯,用input确实不会因masterPage而改变name属性,但是用input的话,怎样进行提交??难道要在asp.net页面自带的form1 runat="server"里再嵌套一个form?
      

  5.   

    重写 HtmlForm 的 action 属性
      

  6.   

    cansum396(漆黑的夜) 那个好像不太适用吧
      

  7.   

    onclick="form1.action='b.jsp';form1.submit()"
      

  8.   

    to 慕白兄:这样嵌套了出现错误
    验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 <machineKey> 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate。
      

  9.   

    嵌套form,后面的form不要runat=server,然后用button的onClick时间提交,不要用submit按钮,这样就可以了
    <form name=form1 runat=server>
    ...
    <form name=myform method=post action=a.jsp>
    <input type=text name=username>
    <input type=password name=userpwd>
    <input type=button onClick="myform.submit();">
    </form>
    </form>
      

  10.   

    to 楼上的:这样不行啊,在dom里看出,
    <input type=text name=username>
    <input type=password name=userpwd>
    <input type=button onClick="myform.submit();">这些部分竟然属于form1的
      

  11.   

    <form name=myform method=post action=a.jsp>
    <input type=text name=username>
    <input type=password name=userpwd>
    <input type=button onClick="myform.submit();">
    </form>把这段放过去
      

  12.   

    <form name=myform method=post action=a.jsp>
    <input type=text name=username>
    <input type=password name=userpwd>
    <input type=button onClick="myform.submit();">
    </form>把这段放过去
    <form1>是页面自带的,每个aspx有且仅有一个form runat=server
      

  13.   

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
        <script language="javascript" type="text/javascript">
            function xx()
            {
                document.Form1.getElementById("myForm").submit();
            }
        </script>
    </head>
    <body>
    <form id="Form1" name="form1" runat="server"><form name=myform method=post action=a.jsp>
    <input type=text name=username>
    <input type=password name=userpwd>
    <input type=button onClick="myform.submit();">
    </form></form></body>
    </html>这是我的代码,提示脚本错误的
      

  14.   

    <script language="javascript" type="text/javascript">
            function xx()
            {
                document.Form1.getElementById("myForm").submit();
            }
        </script>
    你上面加这段代码干嘛?对了<input type=button value="提交" onClick="myform.submit();">
    忘了加value了,页面显示出来没东西的,就一点点点这个按钮,就实现跨页post了呀,action里是你要传到页面的完整地址,比如http://www.sina.com.cn/a.jsp,否则是相对路径
      

  15.   

    不好意思,复多了,但这样还是会脚本错误的
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
    <form id="Form1" name="form1" runat="server">
        <form name=myform method=post action=a.jsp>
        <input type=text name=username>
        <input type=password name=userpwd>
        <input type=button value="xxx" onClick="myform.submit();">
    </form></form></body>
    </html>
      

  16.   

    你仅仅就是要这样儿的页面?还是要放在用户控件里?<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
    <form id="Form1" name="form1" runat="server">
        <input type=text name=username>
        <input type=password name=userpwd>
        <input type=button value="xxx" onClick="Form1.action='a.jsp';Form1.submit();">
    </form></body>
    </html>
      

  17.   

    不是用户控件里的.
    谢谢mrluoluo,我们都想得太复杂了,其实改form的提交路径就可以了
      

  18.   

    漆黑兄的才是 当今正道 呵呵  反正现在流行ajax