I have a control within a tool tip. Whenever I click the button, I always get -1 for my selected value, not the selected value. I really don't know why I'm getting -1. Here is my code. The reviewerid at the bottom is always -1
Here is the relevant code behind for that page. note the item command comes from a rad grid the tool tip shows, but with nothing but the title
Here is the control uc1
And the control code
<telerik:RadToolTip ID="PaperRevTooltip" runat="server" ManualClose="True" Modal="True" Position="Center" RelativeTo="BrowserWindow" ShowEvent="FromCode" Skin="Telerik" Title="Reviewers" Width="400" Height="400"> <asp:Repeater ID="Repeater1" runat="server"> <HeaderTemplate> <table border="0" cellpadding="0" cellspacing="5"> </HeaderTemplate> <ItemTemplate> <UC1:UControl ID="test3" runat="server" PaperID='<%# DataBinder.Eval(Container.DataItem, "PaperID")%>' ReviewerID='<%# DataBinder.Eval(Container.DataItem, "ReviewerUserID")%>' reviewId='<%# DataBinder.Eval(Container.DataItem, "ReviewOfPaperID")%>' /> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> <asp:SqlDataSource ID="ReviewersSqlDS" runat="server" ConnectionString="<%$ ConnectionStrings:conferencehubConnectionString %>" SelectCommand="admin_PaperReviewers" SelectCommandType="StoredProcedure"> <SelectParameters> <asp:Parameter Name="PaperID" Type="Int16" DefaultValue="0" Direction="Input" /> </SelectParameters> </asp:SqlDataSource> </telerik:RadToolTip>Here is the relevant code behind for that page. note the item command comes from a rad grid the tool tip shows, but with nothing but the title
Protected Sub item_command(ByVal source As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles PapersGV.ItemCommand Dim index As Integer Dim paperID As String If e.CommandName = "changeRev" Then index = e.Item.ItemIndex paperID = Me.PapersGV.Items(index).GetDataKeyValue("PaperID") Me.PaperRevTooltip.Title = Me.PapersGV.Items(index).GetDataKeyValue("PaperTitle") loadPaperReviewersData(paperID) Me.PaperRevTooltip.visible = True Me.PaperRevTooltip.Show() Else Me.PaperRevTooltip.visible = False End If End SubProtected Sub loadPaperReviewersData(ByVal paperID As String) Dim dt As DataTable Dim connString As String = System.Configuration.ConfigurationManager.ConnectionStrings("conferencehubConnectionString").ToString Dim myConnection As New Data.SqlClient.SqlConnection(connString) Dim strSQL As String = "admin_PaperReviewers" Dim selectCommand As New Data.SqlClient.SqlCommand(strSQL, myConnection) Dim SQLReader As SqlDataReader Dim paperIDParam As SqlParameter Dim values() = {"-1", "-1", "0", paperID, ""} Try selectCommand.CommandType = Data.CommandType.StoredProcedure paperIDParam = New SqlParameter("PaperId", Data.SqlDbType.Int) paperIDParam.Value = paperID selectCommand.Parameters.Add(paperIDParam) myConnection.Open() SQLReader = selectCommand.ExecuteReader() dt = New DataTable dt.Load(SQLReader) myConnection.Close() 'While dt.Rows.Count < minReviewers If dt.Rows.Count < maxReviewers Then dt.Rows.Add(values) End If 'End While Me.paperReviewersDT = dt Me.Repeater1.DataSource = dt Me.Repeater1.DataBind() Catch ex As Exception Response.Write("There has been an error.<br />" & ex.ToString & "<Br />" & strSQL) Finally myConnection.Close() End Try End Sub Private Property paperReviewersDT() As DataTable Get Return CType(ViewState("allRevs"), DataTable) End Get Set(ByVal value As DataTable) ViewState("allRevs") = value End Set End PropertyHere is the control uc1
<td>test <asp:Label ID="output" runat="server"></asp:Label> <asp:DropDownList ID="RevDropDownList" runat="server" DataSourceID="TrackSqlDS" DataTextField="ReviewerName" DataValueField="UserID"> </asp:DropDownList> <asp:CustomValidator ID="revValidator" runat="server" ErrorMessage="*"></asp:CustomValidator> </td> <td> <asp:Button ID="AddButton" runat="server" Text="Add" CommandName="AddReviewer" /> <asp:Button ID="DelButton" runat="server" Text="Delete" CommandName="DeleteReviewer" Visible="false" /> <asp:Button ID="UpdateButton" runat="server" Text="Update" CommandName="UpdateReviewer" Visible="false"/> </td> <asp:SqlDataSource ID="TrackSqlDS" runat="server" ConnectionString="<%$ ConnectionStrings:conferencehubConnectionString %>" SelectCommand="admin_AllReviewers" SelectCommandType="StoredProcedure" OnSelecting="TrackItDataSource_Selecting"> <SelectParameters> <asp:Parameter Name="PaperID" Type="Int32" /> </SelectParameters> </asp:SqlDataSource></tr>And the control code
Private _ReviewerID As Integer Private _ReviewID As Integer Public Property reviewId() As Integer Get Return CType(ViewState("reviewId"), Integer) End Get Set(ByVal value As Integer) ViewState("reviewId") = value End Set End Property Public Property PaperID() As Integer Get Return CType(ViewState("paperId"), Integer) End Get Set(ByVal value As Integer) ViewState("paperId") = value End Set End Property Public Property ReviewerID() As Integer Get Return Me.RevDropDownList.SelectedItem.Value End Get Set(ByVal value As Integer) _ReviewerID = value End Set End Property Public ReadOnly Property ReviewerName() As String Get Return Me.RevDropDownList.SelectedItem.Text End Get End Property#Region "SQLDS Events" Protected Sub TrackItDataSource_Selecting(ByVal sender As Object, ByVal e As SqlDataSourceSelectingEventArgs) e.Command.Parameters.Item(0).Value = PaperID End Sub#End Region Protected Sub rev_Bound(ByVal sender As Object, ByVal e As System.EventArgs) Handles RevDropDownList.DataBound Dim defaultItem As New ListItem("- Select Reviewer -", "-1") RevDropDownList.Items.Insert(0, defaultItem) output.Text = "test" If _ReviewerID <> 0 Then RevDropDownList.Items.FindByValue(_ReviewerID).Selected = True End If If isValid() Then AddButton.Visible = False UpdateButton.Visible = True DelButton.Visible = True End If End Sub Public Function isValid() As Boolean If RevDropDownList.SelectedIndex = 0 Then revValidator.IsValid = False Return False Else Return True End If End Function Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load RevDropDownList.DataBind() output.Text = "test" End Sub Protected Sub AddButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles AddButton.Click If isValid() Then ReviewerID = Me.RevDropDownList.SelectedItem.Value End If End Sub