<a href='/Product/ProductShow.aspx?productID=<%#DataBinder.Eval(Container.DataItem,"id")%>&myBrand=<%#DataBinder.Eval(Container.DataItem,"BrandName")%>&Uid=<%# ( DataBinder.Eval(Container.DataItem, "ParentID").ToString() == "15" ? "Matel" : "Fit" )%>' target=_blank>
<%# DataBinder.Eval(Container.DataItem, "ProdName") %>
</a>
上面是实例,但我想用?:这样的条件句实现多条件该咋实现呀??结果都是两种情况"Matel" : "Fit"
(Container.DataItem, "ParentID").ToString() == "15"|| (Container.DataItem, "ParentID").ToString()== "16"||(Container.DataItem, "ParentID").ToString() == "17"? "Matel" : "Fit" 
这样可以吗

解决方案 »

  1.   

    请教了,如果不用?:条件句,那用if语句在<%# %>之间如何使用呢???
      

  2.   

    不要这样写在
     private void DtGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
            {
                if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType == ListItemType.AlternatingItem)
                {
                    HyperLink hlk = (HyperLink)e.Item.FindControl("hlkAdd");
                    if(this.intFlag !=1)
                    {
                        hlk.NavigateUrl = "";
                        hlk.Text = "权限设置";
                    }
                               
                }
            }
    一般在这里处理
      

  3.   

    vzxq(灵感人)兄,我知道在后台做这样的语句判断比较简单,但是因为我用了HenryFan.WebControls这个控件,private void DtGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)这个事件找不到!!!
      

  4.   

    你可以对你绑定得datatable数据源,再加一列Parent,做一个循环判断,
    if(row["ParentID"].ToString().Trim == "15" || row["ParentID"].ToString().Trim == "16" || row["ParentID"].ToString().Trim == "17")
    {row["Parent"]="Matel";}
    else
    {row["Parent"]="Fit";}然后把Uid=<%# ( DataBinder.Eval(Container.DataItem, "ParentID").ToString() == "15" ? "Matel" : "Fit" )%>' 
    改为
    Uid=<%# ( DataBinder.Eval(Container.DataItem, "Parent")%>'