HomeHomeDotNetNuke Forg...DotNetNuke Forg...Module ForumsModule ForumsSurveySurveySpecified argument was out of the range of valid values.Specified argument was out of the range of valid values.
Previous
 
Next
New Post
5/13/2007 9:57 AM
 

We are very close. I need you to hang in there with me just a bit longer. Can you open this file:

Survey.ascx.vb

It is in the Survey directory. You can just open it with notepad. Then find the code between:

   Private Sub cmdSubmit_Click
and
    End Sub

Remove the code and replace it with this code (and then save the file):

 

Private Sub cmdSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdSubmit.Click
            Dim objRadioButtonList As RadioButtonList
            Dim objCheckBoxList As CheckBoxList
            Dim objSurvey As SurveyInfo
            Dim intSurvey As Integer
            Dim objSurveyOption As New SurveyOptionInfo
            Dim intSurveyOption As Integer
            Dim intQuestion As Integer
            Dim intOption As Integer
            Dim blnValid As Boolean = True
            Dim blntmpValid As Boolean = False
 
            intQuestion = -1
            Dim arrSurveys As List(Of SurveyInfo) = SurveyController.GetSurveys(ModuleId)
            For intSurvey = 0 To arrSurveys.Count - 1
                objSurvey = arrSurveys(intSurvey)
                intQuestion += 1
                Select Case objSurvey.OptionType
                    Case "R"
                        objRadioButtonList = Me.FindControl("lstSurvey").Controls(intQuestion).FindControl("optOptions")
                        If Not IsNothing(objRadioButtonList) Then
                            If objRadioButtonList.SelectedIndex = -1 Then
                                blnValid = False
                            End If
                        End If
                    Case "C"
                        objCheckBoxList = Me.FindControl("lstSurvey").Controls(intQuestion).FindControl("chkOptions")
                        blntmpValid = False
                        intOption = -1
                        Dim arrSurveyOptions As List(Of SurveyOptionInfo) = SurveyOptionController.GetSurveyOptions(objSurvey.SurveyId)
                        For intSurveyOption = 0 To arrSurveyOptions.Count - 1
                            intOption += 1
                            If Not IsNothing(objCheckBoxList.Items(intOption)) Then
                                If objCheckBoxList.Items(intOption).Selected = True Then
                                    blntmpValid = True
                                End If
                            End If
                        Next
                        If blntmpValid = False Then
                            blnValid = False
                        End If
                End Select
            Next
 
            If blnValid Then
                intQuestion = -1
                For intSurvey = 0 To arrSurveys.Count - 1
                    objSurvey = CType(arrSurveys(intSurvey), SurveyInfo)
                    intQuestion += 1
                    Select Case objSurvey.OptionType
                        Case "R"
                            If Not IsNothing(Me.FindControl("lstSurvey").Controls(intQuestion).FindControl("optOptions")) Then
                                objRadioButtonList = Me.FindControl("lstSurvey").Controls(intQuestion).FindControl("optOptions")
                                objSurveyOption.SurveyOptionId = Convert.ToInt32(objRadioButtonList.SelectedValue)
                                If blnPersonalVoteTracking = True Then
                                    SurveyOptionController.AddSurveyResult(objSurveyOption, UserId)
                                Else
                                    SurveyOptionController.AddSurveyResult_cookie(objSurveyOption, UserId)
                                End If
                            End If
                        Case "C"
                            intOption = -1
                            objCheckBoxList = Me.FindControl("lstSurvey").Controls(intQuestion).FindControl("chkOptions")
                            Dim arrSurveyOptions As List(Of SurveyOptionInfo) = SurveyOptionController.GetSurveyOptions(objSurvey.SurveyId)
                            For intSurveyOption = 0 To arrSurveyOptions.Count - 1
                                objSurveyOption = CType(arrSurveyOptions(intSurveyOption), SurveyOptionInfo)
                                intOption += 1
                                If Not IsNothing(objCheckBoxList.Items(intOption)) Then
                                    If objCheckBoxList.Items(intOption).Selected = True Then
                                        If blnPersonalVoteTracking = True Then
                                            SurveyOptionController.AddSurveyResult(objSurveyOption, UserId)
                                        Else
                                            SurveyOptionController.AddSurveyResult_cookie(objSurveyOption, UserId)
                                        End If
                                    End If
                                End If
                            Next
                    End Select
                Next
 
                Message_Label.Text = Localization.GetString("SurveyComplete", Me.LocalResourceFile)
 
                If blnPersonalVoteTracking = True Then
                    ' This means the module vote tracking is using personalization, so set the profile to show they have voted
                    DotNetNuke.Services.Personalization.Personalization.SetProfile(ModuleId.ToString, "Voted", True)
                    blnVoted = True
                    DisplayResults()
                Else
                    ' Store a cookie to show the chart after the submit
                    Dim objCookie As HttpCookie = New HttpCookie("_Module" & ModuleId.ToString & "_Survey")
                    objCookie.Value = "True"
                    objCookie.Expires = DateTime.MaxValue       ' never expires
                    Response.AppendCookie(objCookie)
                    blnVoted = True
                    DisplayResults()
                End If
            Else
                Message_Label.Text = Localization.GetString("SurveyIncomplete", Me.LocalResourceFile)
            End If
        End Sub


Michael Washington
http://ADefWebserver.com
www.ADefHelpDesk.com
A Free Open Source DotNetNuke Help Desk Module
 
New Post
5/13/2007 11:34 PM
 

Ok. I will do this as soon as this error pop up again. Then, I will let You know what happened.

Regards,
Aleksandar

 
New Post
5/16/2007 2:45 AM
 

When I paste code above I get this error in survey module:

DotNetNuke.Services.Exceptions.ModuleLoadException: C:\DotNetNuke\DesktopModules\Survey\Survey.ascx.vb(314): error BC30456: 'AddSurveyResult_cookie' is not a member of 'DotNetNuke.Modules.Survey.SurveyOptionController'. ---> System.Web.HttpCompileException: C:\DotNetNuke\DesktopModules\Survey\Survey.ascx.vb(314): error BC30456: 'AddSurveyResult_cookie' is not a member of 'DotNetNuke.Modules.Survey.SurveyOptionController'. at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) at System.Web.UI.TemplateControl.LoadControl(VirtualPath virtualPath) at System.Web.UI.TemplateControl.LoadControl(String virtualPath) at DotNetNuke.UI.Skins.Skin.InjectModule(Control objPane, ModuleInfo objModule, PortalSettings PortalSettings) --- End of inner exception stack trace ---

 
New Post
5/16/2007 5:25 AM
 

Please go to SQL (on the Host menu) and paste this script in and run it (make sure you have "run as script" checked):

 

if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}[{objectQualifier}AddSurveyResult_cookie]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 drop procedure {databaseOwner}{objectQualifier}AddSurveyResult_cookie
GO

/** Create Stored Procedure **/

create procedure {databaseOwner}{objectQualifier}AddSurveyResult_cookie
@SurveyOptionID int,
@UserID int

as

update {objectQualifier}SurveyOptions
set Votes = Votes + 1
where SurveyOptionID = @SurveyOptionID
insert into {objectQualifier}SurveyResults (SurveyOptionID, UserID)
values (@SurveyOptionID, @UserID)



Michael Washington
http://ADefWebserver.com
www.ADefHelpDesk.com
A Free Open Source DotNetNuke Help Desk Module
 
Previous
 
Next
HomeHomeDotNetNuke Forg...DotNetNuke Forg...Module ForumsModule ForumsSurveySurveySpecified argument was out of the range of valid values.Specified argument was out of the range of valid values.


Forum Policy

These Discussion Forums are dedicated to the discussion of the DotNetNuke Web Application Framework.

For the benefit of the community and to protect the integrity of the project, 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 DotNetNuke.
2. Discussion or promotion of DotNetNuke product releases under a different brand name are strictly prohibited.
3. No Flaming or Trolling.
4. No Profanity, Racism, or Prejudice.
5. Site Moderators have the final word on approving/removing a thread or post or comment.
6. English language posting only, please.

Attend A Webinar
Free Demo Site
Download DotNetNuke Professional Edition Trial
Have Someone Contact Me
Have Someone Contact Me

Like Us on Facebook Join our Network on LinkedIn Follow DNN Corporate on Twitter Follow DNN on Twitter

Advertisers

DotNetNuke Scoop!

Sponsors

DotNetNuke Corporation

DotNetNuke Corp. is the steward of the DotNetNuke open source project, the most widely adopted Web Content Management Platform for building web sites and web applications on Microsoft. Organizations use DotNetNuke to quickly develop and deploy interactive and dynamic web sites, intranets, extranets and web applications. The DotNetNuke platform is available in a free Community and subscription-based Professional and Enterprise Editions with an Elite Support option. DotNetNuke Corp. also operates the DotNetNuke Store where users purchase third party apps for the platform.