如何通过传递值从转发器的ItemDataBound事件重定向到另一个页面

时间:2011-03-21 05:01:48

标签: asp.net

我有一个转发器控件,在ItemDataBound事件中,我希望在转发器控件中获取值,并通过将这些值作为参数传递来重定向到另一个页面。 我写了以下代码

Protected Sub rptData_ItemDataBound(ByVal source As Object, ByVal e As RepeaterItemEventArgs)

        Dim content As String = ""
        Dim url As String = ""
        Dim lbl1 As Label = TryCast(e.Item.FindControl("content"), Label)
        Dim lbl2 As Label = TryCast(e.Item.FindControl("url"), Label)
        content = lbl1.Text
        url = lbl2.Text
        Dim btn As LinkButton = CType(e.Item.FindControl("glossary"), LinkButton)
        btn.Attributes.Add("onclick", "Response.Redirect('glossary.aspx?cont=' + content + 'url=' + url)return true;")
end su

2 个答案:

答案 0 :(得分:0)

只修改下面的代码行,因为只有

的错误

您无需respose.redirect需要重定向,因此您使用javascript location对象,如下所示

btn.Attributes.Add("onclick", "window.location = 'glossary.aspx?cont=" + content + "&url=" + url + "';")

只需设置链接按钮的prostbackurl属性

btn.PostBackUrl= "glossary.aspx?cont=" + content + "&url=" + url ;

答案 1 :(得分:0)

另一种方法是创建一个新的事件处理程序例程,将信息传递给Event Args并将LinkBut​​ton btn挂钩到事件处理程序,然后就可以使用Response.Redirect。