为了账号安全,请及时绑定邮箱和手机立即绑定

ASP.NET中的Eval()问题

ASP.NET中的Eval()问题

jeck猫 2018-08-22 09:05:47
   <ItemTemplate>                          <tr>                     <td><span><%#Eval("str4") %></span></td>                                        </tr>                      </ItemTemplate>    以上是Repeater空间中一部分  下面是后天cs代码,在Page_Load函数中的  protected Dictionary<string, string> dic = new Dictionary<string, string>();          protected void Page_Load(object sender, EventArgs e)        {            if (!IsPostBack)            {                dic.Add("str1", "this is str1");                      dic.Add("str2", "this is str2");                dic.Add("str3", "this is str3");                        dic.Add("str4", "this is str4");                dic.Add("str5", "this is str5");                      dic.Add("str6", "this is str6");                      Repeater1.DataSource = dic;                Page.DataBind();            }  }  但是我在前台调用Eval()函数出错了。does not contain a property with the name 'str4'  是不是我前台使用绑定表达式的时候,str4这个key值不在的?还是什么问题
查看完整描述

1 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

绑定方式不对,Dictionary 应该使用><%#Eval("key")%>和<%#Eval("value")%>绑定.

例子:

 <asp:Repeater ID="rptDemo" runat="server">
     <HeaderTemplate>
        <table>
          <tr>
            <td>demo</td>
          </tr>
     </HeaderTemplate>
     <ItemTemplate>
           <tr>
            <td><%#Eval("key")%>和<%#Eval("value")%>
</td>
          </tr>
     </ItemTemplate>
     <FooterTemplate>
       </table>
     </FooterTemplate>
    </asp:Repeater>


查看完整回答
反对 回复 2018-08-27
  • 1 回答
  • 0 关注
  • 524 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信