This is a migrated thread and some comments may be shown as answers.

Problems with Hyperlink field

3 Answers 117 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Megan
Top achievements
Rank 1
Megan asked on 15 Sep 2010, 09:37 AM
I'm upgrading my ASP grid to a RadGrid and I have an issue with one of the columns.

On my web page, the user inputs a field for the title of their link, "sTitle" and the link itself, "sLink". When they press add, it inputs it to the grid.

This is the was the way the field worked before in ASP:

<asp:TemplateField HeaderText="Link" SortExpression="sLink">
    <ItemTemplate>
        <asp:HyperLink ID="HyperLink1" runat="server" 
            NavigateUrl='<%# Eval("sLink") %>' Target="_blank" 
            Text='<%# Eval("sTitle") %>'></asp:HyperLink>
    </ItemTemplate>
</asp:TemplateField>

When you click the link of the title it will open a new page of whatever link the user put into the field for sLink.

I have tried to get this to work using Radgrid:

<telerik:GridTemplateColumn 
   DataField="sLink" 
   HeaderText="Link" 
   UniqueName="sLink">
<ItemTemplate>
<asp:LinkButton id="sLink" runat="server" text='<%# Eval("sTitle") %>' CssClass="NoUnderLine"></asp:LinkButton>
</ItemTemplate>
</telerik:GridTemplateColumn>


What do I need to do to get this working?

3 Answers, 1 is accepted

Sort by
0
Jayesh Goyani
Top achievements
Rank 2
answered on 15 Sep 2010, 10:51 AM
Hi Megan ,

-------------------
1st method
-------------------
 <telerik:GridHyperLinkColumn HeaderText="test" DataTextField="sLink" DataNavigateUrlFields="sLink" Target="_blank"
                      >
                      </telerik:GridHyperLinkColumn>
--------------------
2ed method
--------------------
<telerik:GridTemplateColumn 
   DataField="sLink" 
   HeaderText="Link" 
   UniqueName="sLink">
<ItemTemplate>
<asp:LinkButton id="sLink" CommandName="LINK" CommandArgument='<%# Eval("sTitle") %>' runat="server" text='<%# Eval("sTitle") %>' CssClass="NoUnderLine"></asp:LinkButton>
</ItemTemplate>
</telerik:GridTemplateColumn>

RadGrid1_ItemCommand(.........)
{
         if(e.CommandName.ToString() == "LINK")
                  {
                                Response.Redirect(e.CommandArgument.ToString());
                  }

}

let me know if u have any issue/error.
0
Megan
Top achievements
Rank 1
answered on 15 Sep 2010, 11:26 AM

Thank you, that works but I have one more issue.

The user's links are to FTP locations, the users construct the links with the usernames and passwords embedded.

So when I use this, instead of opening the folder, it just lists the ftp directory:

Protected Sub RadGrid1_ItemCommand(ByVal source As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles RadGrid1.ItemCommand
    If e.CommandName.ToString() = "LINK" Then
        Response.Redirect(e.CommandArgument.ToString())
    End If
End Sub

response.redirect doesn't work for FTP links so I need an alternative. Any ideas?
0
Princy
Top achievements
Rank 2
answered on 15 Sep 2010, 02:11 PM
Hello Megan,

You can achieve this by using HyperLink instead of LinkButton inside ItemTemplate of GridTemplateColumn .

ASPX:
<telerik:GridTemplateColumn DataField="sLink" HeaderText="Link" UniqueName="sLink">
    <ItemTemplate>
        <asp:HyperLink ID="HyperLink1" runat="server" Text='<%# Eval("sTitle") %>' NavigateUrl='<%# Eval("sLink") %>' ></asp:HyperLink>
    </ItemTemplate>
</telerik:GridTemplateColumn>

Thanks,
Princy.
Tags
Grid
Asked by
Megan
Top achievements
Rank 1
Answers by
Jayesh Goyani
Top achievements
Rank 2
Megan
Top achievements
Rank 1
Princy
Top achievements
Rank 2
Share this question
or