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
Sub
Protected
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
Property
Here 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