2012-06-14 86 views
0

我想通過gridview中的超鏈接將數據從數據庫列傳遞到另一個頁面,我想傳遞的數據只是一個文本的負載。這是代碼我有通過gridview中的超鏈接傳遞數據

<asp:HyperLinkField DataTextField="FullText" 
     DataTextFormatString="View Text" NavigateUrl="~/Abstract.aspx" 
     Target="_blank" /> 

這似乎是儘可能開放的正確頁面的工作了,但是我不能確定如何查看新的頁面上的文字,最幫助主題告訴您如何通過數據到一個新的網格視圖,但我只想查看頁面或框中的數據或任何工作。

感謝

回答

3

如果我的理解是正確的,你只是想顯示作爲查詢字符串到新頁面傳遞的文本,如果這是正確的,只是閱讀查詢字符串,並在標籤中顯示。

爲了達到此目的,您需要在網格內的鏈接中指定查詢字符串,您的鏈接必須看起來像這樣;

~/Abstract.aspx?d=your+text 

在你的DataGrid:

<asp:TemplateColumn> 
     <ItemTemplate> 
      <asp:HyperLink 
       NavigateUrl='<%# "~/Abstract.aspx?d=" + HttpUtility.UrlEncode(DataBinder.Eval(Container, "DataItem.Id").ToString()) %>' 
       runat="server" 
       Text="Product" /> 
     </ItemTemplate> 
    </asp:TemplateColumn> 

在你有類似的目標頁面:

string text = string.Empty; 
if (this.Request.QueryString["d"] == null) 
    text = "Not found"; 
else 
    text = Server.UrlDecode(this.Request.QueryString["d"]); 

// encode the text to avoid XSS (cross-site scripting) 
this.myLabel.Text = Server.HtmlEncode(text); 
+0

+1例如。日Thnx。 – Jeremy

+0

感謝您的好帖子,但我不知道我明白,因爲我無法讓它工作。 –

0

你可能想通過查詢字符串傳遞一個關鍵參數來拉你想要的數據查看。

如果這不是你想要的,請讓你的問題更具說明性。

0

您可以在會話或查詢字符串中傳遞ID(Abstract.aspx?textid=1)。在頁面加載事件中讀取此ID從數據庫中獲取數據並顯示。

1

在網格

<asp:HyperLinkField DataTextField="FullText" 
    DataTextFormatString="View Text" 
    NavigateUrl='<%# "~/Abstract.aspx?ft=" + System.Web.HttpUtility.UrlEncode(Eval("FullText").ToString() %>' 
    Target="_blank" /> 

在要讀帕拉姆的頁面,你將有

string fullText = Request.QueryString["ft"]; 
if (string.IsNullOrEmpty(fullText)) 
{ 
    fullText = HttpUtility.UrlDecode(fullText); 
}