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

以下是html页面代码。因为一个label需要一个显示的值和一个实际的value,我通过下面代码将一个label赋上了两个值。

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

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

            }

</script>

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

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

或者

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

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

原文地址:https://www.cnblogs.com/sutengcn/p/441966.html