Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeDNN Open Source...DNN Open Source...Module ForumsModule ForumsFAQFAQFAQ Module: Displaying an Answer on Page LoadFAQ Module: Displaying an Answer on Page Load
Previous
 
Next
New Post
4/14/2008 3:33 PM
 

I created a module that will display 3 random FAQ questions. When a user clicks on one of the questions, I want to direct them to the FAQ page with the faqid=x appended to the url and have the answer for that question displayed (along with all the other questions). I've dug through the code to try and figure this out and while all the asp.net stuff makes perfect sense... I just don't get the AJAX stuff and it looks like I need to do some AJAX/Javascript stuff to make this happen. Any ideas for the best way to do this.


David O'Leary
Efficion Consulting
 
New Post
4/14/2008 5:24 PM
 

I figured this out. Inside the FAQs.ascx.vb I created a new sub:

       Public Sub ShowFAQOnLoad(ByVal FAQID As integer)

            Try

                Dim controller As New FAQsController
                Dim lblAnswer As Label = Nothing
                Dim dli As DataListItem
                Dim nKey as Integer
                For Each dli In lstFAQs.Items
                    nKey = CInt(lstFAQs.DataKeys(dli.ItemIndex))
                   
                    If nKey = FAQID Then
                        lblAnswer = CType(dli.FindControl("A2"), Label)
                        Exit For
                    End If
                Next
                If lblAnswer Is Nothing Then
                    'Throw New Exception("Unable to find FAQ that matches the supplied ID")
                Else
                    Dim FaqItem As FAQsInfo = controller.GetFAQ(FAQID, ModuleId)
   
                    If (lblAnswer.Text = "") Then
                        IncrementViewCount(FaqItem.ItemId)
                        lblAnswer.Text = HtmlDecode(controller.ProcessTokens(FaqItem, Me.AnswerTemplate))
                    Else
                        lblAnswer.Text = ""
                    End If
                End If
            Catch exc As Exception 'Module failed to load
                ProcessModuleLoadException(Me, exc)
            End Try
        End Sub

And then I modified the Page Load and added the following below the BindData():

                    If Request("FAQID") <> "" Then
                        ShowFAQOnLoad(CInt(Request("FAQID")))
                    End If

 


David O'Leary
Efficion Consulting
 
Previous
 
Next
HomeHomeDNN Open Source...DNN Open Source...Module ForumsModule ForumsFAQFAQFAQ Module: Displaying an Answer on Page LoadFAQ Module: Displaying an Answer on Page Load


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out