前台循环一个DataTable,然后用一个string类型接收其中的某一个值,然后我想把这个string值放到一个Label的Text属性中。
我的几种写法和得到的结果。
string skillswage_new=DataTable.Rows[0]["skillswage"].ToString();
1、Text='<% skillswage_new%>'        不显示字段中的值,没有报错
2、Text='<%# skillswage_new%>'       报错:当前上下文中不存在名称“skillswage_new”
3、Text='<%# Eval("skillswage")'     不显示字段中的值,没有报错

解决方案 »

  1.   

    public string skillswage_new="";
    使用Literal
    Literal.Text="";
    或div.inneHtml="";
    或document.getElementById("label1").InnerHtml=<%=skillswage_new%>;
      

  2.   

    foreach(datarow row int dt.rows.count)
    {
     Response.Write("<lable>"+row["value"]+"</lable>");
    }
      

  3.   

    foreach(datarow row int dt.rows)
    {
     Response.Write("<lable>"+row["value"]+"</lable>");
    }
    纠正下
      

  4.   

    <%for (int i = 1; i < dtYear.Rows.Count; i++)
                    {
                        skillswage_new = dtYear.Rows[i]["d"].ToString();
                        quarterswage_new = dtYear.Rows[i]["e"].ToString();
                        indexmonth = Convert.ToInt32(dtYear.Rows[i]["c"]);
                        int nextmonth;
                        if ((dtYear.Rows.Count - i) == 1)
                            nextmonth = 13;
                        else
                            nextmonth = Convert.ToInt32(dtYear.Rows[i + 1]["c"]);
                        for (int j = 0; j < (nextmonth - indexmonth); j++)
                        {
                            
            %>
            <tr>
                <asp:Literal ID="Literal1" runat="server"></asp:Literal>
                <td class="fla_f_l">
                    <asp:Label ID="Label7" runat="server" Text="现技能工资:"></asp:Label>
                </td>
                <td class="fla_f_r fla_f_r input,select">
                    <asp:Label ID="Label8" runat="server" Text='<%=skillswage_new  %>'></asp:Label>
                </td>
                <td class="fla_f_l">
                    <asp:Label ID="Label9" runat="server" Text="现岗位工资:"></asp:Label>
                </td>
                <td class="fla_f_r fla_f_r input,select">
                    <asp:Label ID="Label10" runat="server" Text='<%=quarterswage_new %>'></asp:Label>
                </td>
            </tr>
            <% 
                }
                    }
    这是我的部分代码,希望大家能懂我说的意思
      

  5.   

    Text='<%=skillswage_new%>'  少个等号 skillswage_new搞成protect的
      

  6.   

    Text='<%#Eval("数据库中的字段")%>'Text='<%=skillswage_new%>' skillswage_new在后台必须是public 类型的.
      

  7.   

    换成“=”没有出结果。protect在前台能加吗
      

  8.   

    这中方法试过了,skillswage_new是在前台定义的。
      

  9.   

    Text='<%= skillswage_new%>' 如果是前台定义要加等号输出,如果是后台定义的,必须是public的前台才可以访问到,也是同样的输出方式<%= %>
    前台要加等号1、Text='<% skillswage_new%>' 不显示字段中的值,没有报错
    这个根本没有任何操作,跟后台直接写给个skillswage_new一样道理,没有操作根本不可能输出值...
    2、Text='<%# skillswage_new%>' 报错:当前上下文中不存在名称“skillswage_new”
    有这样的用法吗??呵呵!!3、Text='<%# Eval("skillswage")' 不显示字段中的值,没有报错
    这个是控件中用的方法
      

  10.   

    按照上面的方法还不行的话,那就说没有接收到值,你在后台直接.text="";赋值不行吗??
      

  11.   

    因为要在前台进行循环,所以不能这样。
    我直接用在表中写<tr><td><%#skillswage_new%></td></tr>  这样就行了 真晕
    现在是在Label中显示,这样可以。  如果用同样的方式在TextBox中赋值,该怎么弄呢?
      

  12.   

    你把所有要显示的信息在后台中用字符串形式拼接起来然后复制给Lable控件就行了
    如string strShow="<div>"
    strShow+="......";
    strShow+="</div>"
    lblShow.Text=strShow;
      

  13.   

    Text='<%= skillswage_new%>'
    这种用法我知道跟JSP一样