I'm trying to fix a site I didn't build and I can't figure out why this data is not binding. It's a tool tip inside of a repeater and the tool tip has a control in it. Here is the code.
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
I'm kind of lost as to why not even the text "test" shows up when you show the tool tip.
<
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
I'm kind of lost as to why not even the text "test" shows up when you show the tool tip.