在DataBinder.Eval用
<%# DataBinder.Eval(Container, "DataItem.isgood").ToString()=="0" ? "是" :"否" %>
可以表示判断
那么有没有多项判断的,比如我想
if a=0
{}
else if(a=1)
{}
...
....
怎么表示这样啊?

解决方案 »

  1.   

    我用asp.net 制作web form的时候,我的前台.aspx文件怎么才能能访问到他的后台.cs文件的public访法或者变量?
      

  2.   

    Text='<%# IIF(DataBinder.Eval(Container, "DataItem.isgood").ToString()=="0" , "是" ,"否") %>'
      

  3.   

    我用asp.net 制作web form的时候,我的前台.aspx文件怎么才能能访问到他的后台.cs文件的public访法或者变量?
    直接调用,前台的代码实际上是一个类继承于后台的类。
    如:<%# MyFunction( DataBinder.Eval(Container, "DataItem.isgood") ) %>
    但要注意的是,Container仅在<%#里面才有,其他的代码都可以写到MyFunction里面去,并且Container的类型不确定,必须用object,这也是DataBinder.Eval方法的意义。
      

  4.   

    或者在数据库中处理
    SELECT CASE isgood WHEN "0" THEN "是" else "否" END as isgood ,...FROM...
    调用时候直接:
    <%# DataBinder.Eval(Container, "DataItem.isgooD) %>
      

  5.   

    我的意思是在一个空白的.aspx页面上
    前台(.aspx)
    ...
    <%# ABC()%>
    ...
    后台(.aspx.cs)
    public string ABC()
    {
      return "123";
    }
    我发现前台调用的函数取不到值,这是为什么?
      

  6.   

    不可能,我用同样的方法就取出来了
    前台(.aspx)
    <asp:TemplateColumn HeaderText=GetString>
    <ItemTemplate>
    <%# GetString()  %>
    </ItemTemplate>
    </asp:TemplateColumn>
    后台(.aspx.cs)
    protected string GetString()
    {
        return "123";
    }看是不是什么地方漏了?