在DataList中对控件属性的一个应用

本文介绍如何在ASP.NET中实现单个label元素绑定多个值,并通过JavaScript处理这些值。作者通过DataList和DataBinder.Eval方法为label设置动态值,并在客户端脚本中获取这些值用于进一步操作。
以下是html页面代码。因为一个label需要一个显示的值和一个实际的value,我通过下面代码将一个label赋上了两个值。

None.gif<asp:datalist id="dlKPIItem" runat="server" BorderWidth="1px" CellPadding="1">
None.gif           
<ItemStyle BorderWidth="1px"></ItemStyle>
None.gif          
<ItemTemplate>
None.gif               
<asp:label id="lblKPIItemName" runat="server" style="CURSOR: default" Text='<%# DataBinder.Eval(Container.DataItem,"KIM_Name")%>' CssClass="LabelTitle"></asp:label>&nbsp;
ExpandedBlockStart.gifContractedBlock.gif             
<asp:label id="lblKPIItemData" Font-Underline=True runat="server" style="CURSOR: hand" code='<%# DataBinder.Eval(Container.DataItem,"KIM_Code")%>' name='<%dot.gif# DataBinder.Eval(Container.DataItem,"KIM_Name")%>' onclick="kpiItemSelect(this,'Data');" CssClass="LabelTitle">数据</asp:label>&nbsp;
ExpandedBlockStart.gifContractedBlock.gif             
<asp:label id="lblKPIItemGrade" Font-Underline=True runat="server" style="CURSOR: hand" code='<%# DataBinder.Eval(Container.DataItem,"KIM_Code")%>' name='<%dot.gif# DataBinder.Eval(Container.DataItem,"KIM_Name")%>' onclick="kpiItemSelect(this,'Grade');" CssClass="LabelTitle">得分</asp:label>
None.gif           
</ItemTemplate>
None.gif 
</asp:datalist>

然后 在javascript中使用这个值。
<script>
None.giffunction kpiItemSelect(item,suffix)
ExpandedBlockStart.gifContractedBlock.gif            
dot.gif{            
InBlock.gif                
var strExpression=trim(document.getElementById("txtExpression").value);
InBlock.gif                
var strExpressionHidden=trim(document.getElementById("txtExpressionHidden").value);
InBlock.gif                                
InBlock.gif                strExpression 
+= "["+trim(item.getAttribute("name"))+"_"+trim(item.innerText)+"]";
InBlock.gif                strExpressionHidden 
+= "["+trim(item.getAttribute("code"))+"_"+trim(suffix)+"]";
InBlock.gif                
InBlock.gif                
if(checkStrLength(strExpressionHidden))
ExpandedSubBlockStart.gifContractedSubBlock.gif                
dot.gif{
InBlock.gif                    document.getElementById(
"txtExpression").value=strExpression;
InBlock.gif                    
//save selected item
InBlock.gif
                    document.getElementById("txtPreItem").value += item.getAttribute("code")+",";
InBlock.gif                    
//Expression save to DB
InBlock.gif
                    document.getElementById("txtExpressionHidden").value=strExpressionHidden;
ExpandedSubBlockEnd.gif                }

ExpandedBlockEnd.gif            }

</script>

这样就实现了使一个label同时具有text和value。
但是遗憾的是,我打算在普通的label中作这个实验没有成功,
想法是

None.gif<asp:label id="lblCode" runat="server" name="<%Name%>" CssClass="LabelTitle" ForeColor="Blue">文本</asp:label>

或者

None.gif<asp:label id="lblCode" runat="server" CssClass="LabelTitle" ForeColor="Blue"><%Name%> </asp:label>

 
然后在后台cs 文件中 声明一个Name变量。
出现错误,声称没有发现Name变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值