2011-07-12 40 views
0

什麼是VB.NET(或C#)代碼準備POST數據併發送到當前的<form ...>部分中指定的其他網站?將POST發送到不同的網站(ASP.NET 3.5)

編輯:我在網上找到的每個算法使用HttpWebRequest從其他網站獲取返回頁面並將其與Response.Write一起輸出。我想導航到發佈數據的新頁面並完全離開當前頁面。

EDIT2 :(更多具體描述我想要的) 下面的代碼顯示了折線圖。當用戶點擊數據點的標籤時,頁面刷新(執行回發)並顯示點擊點的x值。

相反,當點擊一個標籤,我想送other_id="#VALX"作爲唯一的POST數據到other_results.aspx如同用戶已鍵入相應id到了TextBoxother_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> 

回答

3

如果你需要從你的C#/ VB.NET頁面發送POST請求到另一個網站你想看看HttpWebRequest Class

+0

當然!我打算在我的回答中加上這個,但是你打敗了我。做得好! +1給你。 – David

+0

如果您不需要對錶單內容進行任何操作 - 如果您只是想將其發佈到其他服務器,請參閱我的答案的前半部分。只要將它放在一個簡單的html表單中,就像這是一個html頁面一樣。 – David

+0

再次編輯主要帖子,更具體地說明了我正在努力完成的任務。 – Steven

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

換句話說,只要創建一個標準的HTML表單。不要在Form標籤中包含「runat =」server「',它將被視爲標準的html表單。您可以在apsx頁面中擁有多個Form標籤。你只能設置一個runat =「Server」,但你的頁面上可以有其他形式,只要它們沒有嵌套。

編輯

但是,如果你需要做一些自己的服務器端處理,並要在addtition帖子發送數據到你需要做服務器端的工作,那麼你就可以通過調用WebRequest類其他站點的形式(如@克里斯卵石說,當時他打我我打算回答的第二部分。)

+0

再次編輯主文章,更具體地說明了我正在努力完成的任務。 – Steven