none
关于 asp.net C#语言 RRS feed

  • 问题

  • 在 asp.net 中,运行在服务端的 Form 表单, 不能设置它的 Action 路径?  现在的问题是:客户端需要 action 为绝对 Url 。如: http://localhost:1000/default.aspx ,而不是 default.aspx  。 如何处理?
    • 已移动 小鱼儿 2010年3月30日 8:10 ASP.NET (发件人:微软MSDN中文网站用户意见建议反馈专区)
    2010年3月26日 8:56

答案

  • 你好,

    运行在服务器端的form如果指定Action会有如下错误信息。

    Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.

    所以如果你要提交表单数据,可以直接使用普通的html form元素,这样就可以指定action,在后台获取时采用Request.Form[name]的形式,这样就要求前台的form表单元素需要设定一个name属性.

    至于你说的绝对路径可以采用下面方式:

    <form action="<%=Request.ApplicationPath+"/Default.aspx" %>" method="post">
       
        <input type="text" name="tb" />
        <input type="submit" value="Submt" />
        </form>
    

     


    Microsoft Online Community Support
    2010年3月31日 3:01
  • PostBackUrl属性
    【孟子E章】
    2010年3月31日 4:55
    版主

全部回复

  • 你好,

    运行在服务器端的form如果指定Action会有如下错误信息。

    Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.

    所以如果你要提交表单数据,可以直接使用普通的html form元素,这样就可以指定action,在后台获取时采用Request.Form[name]的形式,这样就要求前台的form表单元素需要设定一个name属性.

    至于你说的绝对路径可以采用下面方式:

    <form action="<%=Request.ApplicationPath+"/Default.aspx" %>" method="post">
       
        <input type="text" name="tb" />
        <input type="submit" value="Submt" />
        </form>
    

     


    Microsoft Online Community Support
    2010年3月31日 3:01
  • PostBackUrl属性
    【孟子E章】
    2010年3月31日 4:55
    版主