我在我的项目中使用RadListBox(带有c#和vs2010的asp.net)
我也在使用itemTemplate中的一些链接按钮...
当我们悬停或选择ListBox中的项目时,我想更改这些LinkButton的颜色! (客户端编程)
我的RadListBox是这样的:
<telerik:RadListBox ID="RadlbOfImageGroup" runat="server" DataKeyField="ID" DataSortField="Title"
DataSourceID="sdsImagesGroup" DataTextField="Title" DataValueField="ID" Skin="BlackByMe"
EnableEmbeddedSkins="False" EmptyMessage="No Records!">
<ButtonSettings TransferButtons="All" />
<HeaderTemplate> <div id="Header_RadlbOfImageGroup"><h5>Header Area</h5></div>
</HeaderTemplate>
<ItemTemplate>
<asp:LinkButton ID="lbTitleOfIG" CssClass="lbTitleOfIGclass" runat="server" CausesValidation="False"><%# Eval("Title") %></asp:LinkButton>
<asp:Label ID="lblTitleOfIG" CssClass="lblTitleOfIGclass" runat="server" Text='<%# Eval("Title") %>'></asp:Label>
<asp:LinkButton ID="lbEditOfIG" CssClass="lbEditOfIGclass" runat="server" CausesValidation="False"
CommandName="Edit">Edit</asp:LinkButton>
<asp:LinkButton ID="lbDeleteOfIG" CssClass="lbDeleteOfIGclass" runat="server" CausesValidation="False"
CommandName="Delete">Delete</asp:LinkButton>
</ItemTemplate>
</telerik:RadListBox>
我想在悬停期间更改lbTitleOfIG的颜色并选择一个项目!
我该怎么做这个工作?
感谢关注
第一个问题解决了上层问题 - 谢谢兄弟......
================================
但是在进行了一些更改之后我遇到了一个新问题:
<telerik:RadAjaxPanel ID="RadAjaxPanelInrpvImageGroup" runat="server" Height="290px" Width="400px">
<telerik:RadListBox ID="RadlbOfImageGroup" runat="server" DataKeyField="ID" DataSortField="Title"
DataSourceID="sdsImagesGroup" DataTextField="Title" DataValueField="ID" Skin="BlackByMe"
EnableEmbeddedSkins="False" Width="260px" Height="365px"
EmptyMessage="no records!" AutoPostBack="True"
onselectedindexchanged="RadlbOfImageGroup_SelectedIndexChanged">
<ItemTemplate>
<table style="width: 100%;">
<tr style="width: 100%;">
<td style="width: 64%;">
<asp:Label ID="lblTitleOfIG" runat="server" CssClass="lbl_ListBox_IG_Title" Text='<%# Eval("Title") %>'></asp:Label>
</td>
<td style="width: 18%; text-align: center;">
<asp:LinkButton ID="lbEditIG" runat="server" CausesValidation="False" CommandName="Edit"
CssClass="lb_ListBox_IG" OnClick="lbEditIG_Click">Edit</asp:LinkButton>
</td>
<td style="width: 18%; text-align: center;">
<asp:LinkButton ID="lbDeleteIG" runat="server" CausesValidation="False" CommandName="Delete"
CssClass="lb_ListBox_IG" OnClick="lbDeleteIG_Click">Delete</asp:LinkButton>
</td>
</tr>
</table>
</ItemTemplate>
</telerik:RadListBox>
</telerik:RadListBox>
</telerik:RadAjaxPanel>
更改#1:如您所见,我将RadListBox放入RadAjaxPanel(它像UpdatePanel一样)......
更改#2:使用AutoPostBack =“True”添加SelectedIndexChanged事件(服务器端)...
我在SelectedIndexChanged事件中有一些代码在ajax模式下运行良好...
但我的新的问题是,当我改变另一个项目则selectedItem通过点击(或点击链接按钮,如lbEditIG或lbDeleteIG之一)和回调的发生是因为这一点,我失去了,我们已经通过设置lbTitleOfIG颜色低于css:
.rlbActive .rlbTemplate span.lbl_ListBox_IG_Title
{
color:#9EDA29 !important;
}
.rlbTemplate:hover span.lbl_ListBox_IG_Title
{
color:#9EDA29 !important;
}
但所选区域仍然突出显示......
我知道这种颜色的东西不是那么重要,但很多年前我对一个radcombobox控件类似的问题(失去焦点的SelectedIndexChanged后回调)
我真的很感谢给我一个解决方案,所以我可以将它用于其他目的......
感谢您阅读此内容并将宝贵的时间放在此主题上
答案 0 :(得分:1)
首先,它与客户端编程无关,但与 CSS 无关。 当然你可以使用jQuery或其他库来实现它,但除非你不必做复杂的事情,否则它似乎是不必要的。
提示强> 的: 你应该使用Firebug extension to Firefox来使用js,css。
最后你需要的代码就是这样:
.rlbActive .rlbTemplate a.lbTitleOfIGclass{color:Red !important;}
.rlbTemplate:hover a.lbTitleOfIGclass{color:Red !important;}
首先是活动列表项,第二个是列表中的悬停元素。
干杯!
修改强> 以下是回发后的代码:
(1)<asp:HiddenField runat="server" ID="HoveredIndex" Value="-1" />
<telerik:RadAjaxPanel ID="RadAjaxPanelInrpvImageGroup" runat="server" Height="290px"
Width="400px">
<telerik:RadListBox ID="RadlbOfImageGroup" runat="server" DataKeyField="ID" DataSortField="Title"
DataTextField="Title" DataValueField="ID" Skin="BlackByMe"
EnableEmbeddedSkins="False" Width="260px" Height="365px" EmptyMessage="no records!"
AutoPostBack="True" OnSelectedIndexChanged="RadlbOfImageGroup_SelectedIndexChanged">
<ItemTemplate>
<table style="width: 100%;">
<tr style="width: 100%;">
<td style="width: 64%;">
<asp:Label ID="lblTitleOfIG" runat="server" CssClass="lbl_ListBox_IG_Title" Text='<%# Eval("Title") %>'></asp:Label>
</td>
<td style="width: 18%; text-align: center;">
<asp:LinkButton ID="lbEditIG" runat="server" CausesValidation="False" CommandName="Edit"
CssClass="lb_ListBox_IG">Edit</asp:LinkButton>
</td>
<td style="width: 18%; text-align: center;">
<asp:LinkButton ID="lbDeleteIG" runat="server" CausesValidation="False" CommandName="Delete"
CssClass="lb_ListBox_IG" >Delete</asp:LinkButton>
</td>
</tr>
</table>
</ItemTemplate>
</telerik:RadListBox>
<script type="text/javascript">
function pageLoad()(2)
{
var indexbefore = $('input:hidden[id*="HoveredIndex"]').val();(3)
if (indexbefore != -1)(4)
$('.rlbItem').eq(indexbefore).addClass('rlbActive .rlbTemplate span.lbl_ListBox_IG_Title');
$('.rlbItem:visible').each(function (index)(5)
{
$(this).hover(function ()
{
$("#result").html("Index is: " + index);
$('input:hidden[id*="HoveredIndex"]').val(index);(6)
});
});
}
</script>
</telerik:RadAjaxPanel><div id="result"></div>
以下是对场景背后发生的事情的小解释:
这就是魔术: - )