日期:2014-05-19  浏览次数:20484 次

【求助】ASP.NET中的一个小问题!!困惑n久了!
我们知道ASP.NET有个REAPTER或DATAGRID对象可以绑定数据,

但有个问题是如何如果通过判定条件显示某个字段而不显示某个字段呢,   举例来说,比如百度贴吧,   如果登陆的话发贴显示用户名,不登陆的话显示发贴IP,   这就需要一个IF条件语句去判定IP字段是否为空,   然后再决定显示用户名还是显示IP,但该如何做呢?比如下列代码:

<html> <body>
    <ASP:Repeater   id= "Repeater1 "   runat= "server "   OnItemCreated= "Repeater1_ItemCreated ">

          <ItemTemplate>
                <tr>
                      <td>   <%#   Container.DataItem( "UserName ")   %>
                      </td>
                </tr>
          </ItemTemplate>

        </ASP:Repeater>
<asp:Label   id= "Label1 "   runat= "server "/>
</body> </html>


定义了一个Repeater   ,   还有Repeater1_ItemCreated方法,   但如何在方法呢,判定是Container.DataItem( "UserName ")否为空呢,如果为空就就绑定Container.DataItem( "IP ")

------解决方案--------------------
可以在.cs中
申明一个函数
protected string LoadDt(string Uname, string __IP)
{
if(Uname == " ")
{
Uname = __IP;
}
return Uname;
}
前台
<%# LoadDt(Container.DataItem( "UserName ").ToString(), Container.DataItem( "IP ").ToString() %>
------解决方案--------------------
<%# Container.DataItem( "UserName ").ToString== " "?Container.DataItem( "ip "):Container.DataItem( "UserName ") %>
------解决方案--------------------
select isnull(username,IP) as username from yourtable

一句sql就行了 ,不用在页面上操作
------解决方案--------------------
<%# %> 可以把逻辑放到一个函数中,不仅仅是针对列。