【发布时间】:2013-07-18 18:42:14
【问题描述】:
当我单击该行上的任意位置时,我正在突出显示转发器行。然后当我点击另一行时,前一行变得未突出显示。所以它起作用了,但只是一瞬间。一旦modalpopup出现,亮点就消失了。顺便说一句,我在每一行都有一个链接按钮来显示模态弹出窗口,并且我将转发器内的所有标签都设置为关联控件。所以中继器中的文本都充当链接按钮。我知道突出显示不突出显示的东西有效,因为当我只单击没有文本的区域时效果仍然存在。我知道单击链接按钮引起的回发消除了 javascript 的效果。我想知道的是,我能做些什么呢?请帮帮我。
这是我的代码。
头:
<script type = "text/javascript">
var T0;
function CngClass(cls){
this.lst=null;
this.cls=cls;
}
CngClass.prototype.CngClass=function(obj){
if (typeof(obj)=='string') obj=document.getElementById(obj);
if (this.lst) this.lst.className='';
obj.className=this.cls;
this.lst=obj;
}
<style type="text/css">
.selected
{
background-color: Red;
}
</style>
主体:
<body onload="T0=new CngClass('selected');T0.CngClass('t0');">
中继器的ItemTemplate:
<ItemTemplate>
<tr id="t0" runat="server" onclick="T0.CngClass(this);" onmouseover="style.backgroundColor='Gainsboro'" onmouseout="style.backgroundColor=''" style="cursor: pointer">
<td><asp:Label ID="lblfullname" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "FULLNAME")%>' AssociatedControlID="lnkselect" />
<asp:HiddenField ID="hiddenrecnum" runat="server" Value='<%# DataBinder.Eval(Container.DataItem, "RECORD_ID")%>' />
</td>
<td><asp:Label ID="lbldeptname" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "DEPT_NAME")%>' AssociatedControlID="lnkselect" /></td>
<td><asp:Label ID="lbldivisions" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "DIVISIONS")%>' AssociatedControlID="lnkselect" /></td>
<td><asp:Label ID="lblposition" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "POSITION")%>' AssociatedControlID="lnkselect" />
<asp:LinkButton ID="lnkselect" runat="server" /></td>
</tr>
</ItemTemplate>
【问题讨论】:
标签: javascript asp.net repeater