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

时间:2011-07-12 13:25:54

标签: c# asp.net vb.net .net-3.5

用于准备POST数据并发送到与当前<form ...>部分中指定的网站不同的网站的VB.NET(或C#)代码是什么?

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

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

相反,点击标签后,我想将other_id="#VALX"作为唯一的POST数据发送到other_results.aspx,就像用户在id中输入了相应的TextBox一样} other_search.aspx点击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>

2 个答案:

答案 0 :(得分:3)

如果您需要从C#/ VB.NET页面向另一个网站发送POST请求,请查看HttpWebRequest Class

答案 1 :(得分:1)

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

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

修改

但是,如果您需要对自己进行一些服务器端处理,并且希望将后期数据发送到您需要在服务器端执行的工作,那么您可以使用WebRequest调用其他站点的表单上课(正如@Chris Pebble所说,当他把我打到我预期答案的第二部分时。)