1
項目列表(超鏈接)顯示在查詢檢索的列表視圖中。在點擊時,它會重定向到另一個頁面,我需要使用它的名稱來獲取該項目的數據,這是該項目(超鏈接)的文本。我如何訪問被點擊的項目的文本屬性(名稱)?在列表視圖中點擊超鏈接的文本屬性?
項目列表(超鏈接)顯示在查詢檢索的列表視圖中。在點擊時,它會重定向到另一個頁面,我需要使用它的名稱來獲取該項目的數據,這是該項目(超鏈接)的文本。我如何訪問被點擊的項目的文本屬性(名稱)?在列表視圖中點擊超鏈接的文本屬性?
如果確實單擊超鏈接其中將重定向到另一頁,則無法獲取該信息。
要做到這一點,唯一的方法是在查詢字符串中包含所需的信息,並在下一頁解析查詢字符串。
但是,如果你是張貼表單到另一頁,而你的超鏈接實際上是一個輸入,你的信息將在後期數據中可用。
如果您的超鏈接實際上是服務器控件,則有很多可能性。
它可能有助於看到一些代碼。
OK,如果這是你的代碼:
<td>
<asp:Hyperlink ID="NameLabel" runat="server" Text='<%# Eval("Name") %>' NavigateUrl="~/anotherpage.aspx"/>
</td>
有一些事情可以做。首先,你可以改變你asp:Hyperlink
到asp:LinkButton
添加一個點擊事件並刪除NavigateUrl
屬性:
<td>
<asp:LinkButton ID="NameLabel" runat="server" Text='<%# Eval("Name") %>' OnClick="NameLabel_Click"/>
</td>
現在,使用事件處理程序做你需要的東西:
//Use querystring
protected void NameLabel_Click(object sender, EventArgs e)
{
var link = sender as LinkButton;
Response.Redirect(String.Format("anotherpage.aspx?name={0}", link.Text));
}
//Use session
protected void NameLabel_Click(object sender, EventArgs e)
{
var link = sender as LinkButton;
Session["name"] = link.Text;
Response.Redirect("anotherpage.aspx?");
}
然後,在Page_Load
你的着陸頁事件,你可以這樣做:
//Session
var name = Session["name"];
//Querystring
var name = Request.QueryString["name"];
你想看什麼代碼?到目前爲止,我還沒有編寫這個任務的代碼,因爲我沒有文本,我可以通過SqlDataSource向你展示檢索列表視圖中的數據的代碼。我明確地將其中的項目的標籤屬性轉換爲超鏈接。這樣 的' NavigateUrl = 「〜/ anotherpage.aspx」/> –
2012-04-23 16:56:11
是的我需要將信息解析到下一個頁面,但是我怎樣才能從那個超鏈接的文本中得到這些信息? – 2012-04-23 16:56:51
嘗試像'NavigateUrl ='<%#String.Format(「〜/ anotherpage.aspx/?itemName = {0}「,Eval(」Name「)。ToString())%>'/> –
2012-04-23 17:05:32