2012-04-23 55 views
1

项目列表(超链接)显示在查询检索的列表视图中。在点击时,它会重定向到另一个页面,我需要使用它的名称来获取该项目的数据,这是该项目(超链接)的文本。我如何访问被点击的项目的文本属性(名称)?在列表视图中点击超链接的文本属性?

回答

3

如果确实单击超链接其中重定向到另一页,则无法获取该信息。

要做到这一点,唯一的方法是在查询字符串中包含所需的信息,并在下一页解析查询字符串。

但是,如果你是张贴表单到另一页,而你的超链接实际上是一个输入,你的信息将在后期数据中可用。

如果您的超链接实际上是服务器控件,则有很多可能性。

它可能有助于看到一些代码。

OK,如果这是你的代码:

<td> 
    <asp:Hyperlink ID="NameLabel" runat="server" Text='<%# Eval("Name") %>' NavigateUrl="~/anotherpage.aspx"/> 
</td> 

有一些事情可以做。首先,你可以改变你asp:Hyperlinkasp: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"]; 
+0

你想看什么代码?到目前为止,我还没有编写这个任务的代码,因为我没有文本,我可以通过SqlDataSource向你展示检索列表视图中的数据的代码。我明确地将其中的项目的标签属性转换为超链接。这样 ​​ 的 2012-04-23 16:56:11

+0

是的我需要将信息解析到下一个页面,但是我怎样才能从那个超链接的文本中得到这些信息? – 2012-04-23 16:56:51

+0

尝试像 2012-04-23 17:05:32

相关问题