发送POST到不同的网站(ASP.NET 3.5)

本文关键字:NET ASP 网站 POST 发送 | 更新日期: 2023-09-27 18:02:04

什么是VB。. NET(或c#)代码准备POST数据并发送到不同的网站,而不是在当前的<form ...>部分指定?

编辑:我在网上发现的每个算法都使用HttpWebRequest从其他网站获得返回页面,并使用Response.Write输出。我想导航到发布数据的新页面,并完全离开当前页面。

EDIT2:(更具体地描述我想要什么)下面的代码显示了一个折线图。当用户单击数据点的标签时,页面刷新(执行回发)并显示所单击点的x值。

相反,在单击标签时,我想将other_id="#VALX"作为唯一的POST数据发送到other_results.aspx,就好像用户在other_search.aspx上的TextBox中输入了相应的id并单击了Submit

我该怎么做呢?

<%@ Page Language="VB" AutoEventWireup="true" %>
<%@ Register Assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    Namespace="System.Web.UI.DataVisualization.Charting" TagPrefix="asp" %>
<%@ Import Namespace="System.Data.OracleClient" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    Protected Sub Chart1_Click(sender As Object, e As System.Web.UI.WebControls.ImageMapEventArgs)
        Response.Write(e.PostBackValue)
    End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>My Title</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Chart ID="Chart1" runat="server" OnClick="Chart1_Click"
            DataSourceID="myDataSource">
            <Series>
                <asp:Series Name="Series1" ChartType="Line"
                    IsValueShownAsLabel="true" XValueMember="id"
                    YValueMembers="value" PostBackValue="#VALX" />
            </Series>
            <ChartAreas>
                <asp:ChartArea Name="ChartArea1" />
            </ChartAreas>
        </asp:Chart>
        <asp:SqlDataSource ID="myDataSource" runat="server"
            ConnectionString="<%$ ConnectionStrings:myConnStr %>"
            ProviderName="<%$ ConnectionStrings:myConnStr.ProviderName %>"
            SelectCommand="SELECT id, value FROM myTable"
            DataSourceMode="DataReader"/>
    </div>
    </form>
</body>
</html>

发送POST到不同的网站(ASP.NET 3.5)

如果您需要从c#/VB发送POST请求。. NET页面到另一个网站,你想看看HttpWebRequest类。

<form action="someotherwebsite/someotherform">
.....
</form>

换句话说,只是创建一个标准的html表单。不要在Form标签中包含'runat="server"',否则它将被视为标准的html表单。在一个apsx页面中可以有多个Form标签。你只能用runat="Server"设置一个表单,但你可以在你的页面上有其他表单,只要它们不是嵌套的。

编辑

然而,如果你需要做一些自己的服务器端处理,你想发送post数据除了工作,你需要做服务器端,然后你可以调用其他网站的表单使用WebRequest类(如@Chris Pebble说,当他击败我的第二部分我的预期答案)