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

[Solved] Open Image from ItemTemplate in aspx ?

1 Answer 91 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Madhu Palakurthi
Top achievements
Rank 1
Madhu Palakurthi asked on 18 Apr 2013, 02:48 AM
Hi,

I am using hyperlink inside item template  to navigate other pages that based on type.
If type is Task then I am giving navigateURL is Edittask.aspx
If type is Email then I am opening a radwindow to show email body.
Now I would like to open Attachment if type is attachment.

Note : I am taking image content direct from DB not from any path.
Table & column info here :



Generally I can use GridAttachmentColumn to open/save attachment like this..



I want the same popup that If i click on hyperlink when type is attachment

Code :

Dim subject As String = String.Empty
           Dim item As GridDataItem = DirectCast(e.Item, GridDataItem)
           Dim link As HyperLink = DirectCast(item.FindControl("hlnkDescription"), HyperLink)
           Dim type As String = item("Type").Text
           Dim Privacy As String = item("Privacy").Text
           Dim lnkTaskNo As HyperLink = DirectCast(item.FindControl("hlnkTaskNo"), HyperLink)
           Dim taskNo As String = lnkTaskNo.Text
 
 If type IsNot Nothing And type <> "" Then
               Dim taskHierarchyURL As String = "~/MyTasksHierarchyMain.aspx?TaskNo=" + taskNo + "&Subject=" + subject + "&Id=" + item("Id").Text + ""
               Select Case type
                   Case "Task", "Group"  '28/03/2013  & 03/04/2013
                       If taskNo IsNot Nothing And taskNo <> "" Then
                           If Privacy = "Confidential" Then
                               link.Text = "Private & Confidential"
                               link.CssClass = "hidelink"
                               link.Enabled = False
                           Else
                               If Session("searchtype") = "All" Then
                                   link.NavigateUrl = taskHierarchyURL
                               Else
                                   link.NavigateUrl = "~/EditTask.aspx?TaskNo=" + taskNo + "&Subject=" + subject + "&Id=" + item("Id").Text + ""
                               End If
                           End If
                       End If
                   Case "Email"
                       If taskNo IsNot Nothing And taskNo <> "" And taskNo <> "0" Then
                           If Privacy = "Confidential" Then
                               link.Text = "Private & Confidential"
                               link.CssClass = "hidelink"
                               link.Enabled = False
                           Else
                               'Start : 11/04/2013
                               'link.NavigateUrl = "~/EditTask.aspx?func=email&TaskNo=" + taskNo + "&Subject=" + subject + "&Id=" + item("Id").Text + ""
                               lnkTaskNo.NavigateUrl = "~/EditTask.aspx?func=email&TaskNo=" + taskNo + "&Subject=" + subject + "&Id=" + item("Id").Text + ""
                               link.Attributes("href") = "javascript:void(0);"
                               link.Attributes("onclick") = [String].Format("return ShowEmailBodyForm('{0}','{1}');", item("Id").Text, e.Item.ItemIndex)
                               'End : 11/04/2013                           
                           End If
                       Else
                           link.NavigateUrl = "~/MasterScreen.aspx?page=EmailMasterLink&TaskNo=0&Mth=0&Yr=0&Subject=" + subject + "&Id=" + item("Id").Text + ""
                           If item("InitiatorName").Controls.Count > 0 Then
                               DirectCast(item("InitiatorName").Controls(0), TextBox).Visible = False
                           End If
                       End If
                       Dim message As String = HtmlRemoval.StripTagsRegex(item("Message").Text).Replace(".", "").ToString()
                       item("Message").Text = message.Substring(0, 100) + "..."
                       Session("SearchEmail") = True '03/04/2013
                   Case "Attachment"
                       If taskNo IsNot Nothing And taskNo <> "" And taskNo <> "0" Then
                           If Privacy = "Confidential" Then
                               link.Text = "Private & Confidential"
                               link.CssClass = "hidelink"
                               link.Enabled = False
                           Else
                               link.NavigateUrl = "~/EditTask.aspx?func=attachments&TaskNo=" + taskNo + "&Subject=" + subject + "&Id=" + item("Id").Text + ""
                           End If
                       Else
                           link.NavigateUrl = "~/MasterScreen.aspx?page=UncategorisedAttachments,NonTask&Subject=" + subject + "&Id=" + item("Id").Text + ""
                       End If                    
               End Select
           End If

Design  :
<telerik:GridTemplateColumn ShowSortIcon="true" SortExpression="Subject" FilterControlAltText="Filter Subject column"
                                       DataField="Subject" FilterControlWidth="250px" DataType="System.String" UniqueName="Subject"
                                       HeaderText="Click to view attachment / emails / tasks">
                                       <ItemTemplate>
                                           <asp:HyperLink ID="hlnkDescription" Target="_blank" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "Subject")%>'></asp:HyperLink>
                                       </ItemTemplate>
                                   </telerik:GridTemplateColumn>


Please help on this .. Thanks in advance..

1 Answer, 1 is accepted

Sort by
0
Vasil
Telerik team
answered on 22 Apr 2013, 08:35 AM
Hi Narsa,

You can the same approach as in this demo:
http://demos.telerik.com/aspnet-ajax/grid/examples/generalfeatures/gridattachmentcolumn/defaultcs.aspx
Examine its code, I believe it do exactly what you want.

All the best,
Vasil
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
Tags
Grid
Asked by
Madhu Palakurthi
Top achievements
Rank 1
Answers by
Vasil
Telerik team
Share this question
or