Eval 数据绑定

简介:

<%# Regex.Replace((string)Eval("IP"), @"\.\d+$", ".*") %> 

Eval内部必须是双引号,因为它是普通的c#方法。
Eval可以使用第二个参数格式化,因此例如你就可以写:
<%# Eval("ID","~/DelegateConfirm.aspx?id={0}") %>
<%# 表达式%>---------<%#sum/10 %>
Barcode字段存储的是条形码号,如果条形号码为空,则显示"待审核",否则显示条形码
<%#Eval("Barcode").Equals("") ? "<font color='red'>待审核</font>" : "<img src='http://www.mywebsite.com/barcode/barcode.dll?id="+Eval("Barcode")+"'/>"%>
将格式化日期的方法绑定到数据控件中
protected string GetTime(object time)
{ return Convert.ToDateTime(time).ToString("yyyy-MM-dd", System.Globalization.DateTimeFormatInfo.InvariantInfo);
}
然后,将自定义方法GetTime,绑定到数据控件GridView中的显示日期列上,其代码如下:
<%# GetTime(DataBinder.Eval(Container.DataItem, "POSTTIME"))%>
格式化时间并进行绑定
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{
DataRowView drv = ds.Tables["tbOrder"].DefaultView[i];
DateTime dt = Convert.ToDateTime(drv["EDate"]);
GridView1.Rows[i].Cells[9].Text = dt.ToLongDateString( );
}
高亮:
public static string HighLight(string instr, bool light)
{
if (light)
{
instr = "<span style='color:red'>" + instr + "</span>";//要加亮的文本,Red
}
else
{
instr = "<span style='color:blue'>" + instr + "</span>";//要加亮的文本,Blue
}
return instr;
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.Cells[4].Text == "False")
{
e.Row.Cells[4].Text = HighLight("未审核", true);//Red
}
else
{
e.Row.Cells[4].Text = HighLight("已审核", false);//Blue
}
}
}

 
int 遇到 null :

 <td align="center">
<%
# Eval("SpecAppend.Result3"== null ? "<font color='#ff0066'>未返回</font>" : 
Convert.ToInt32(Eval(
"SpecAppend.Result3")) == 2 ? "<font color='red'>失败</font>" : 
"<font color='blue'>成功</font>"  %></td>  


避免Object cannot be cast from DBNull to other types. 错误

  <%# Eval("Sex").GetType() == Type.GetType("System.DBNull") ?"未设置": Convert.ToInt32(Eval("Sex")).Equals(0)?"<font color='blue'>女</font>" : "<font color='green'>男</font>"%>

 

 ImageUrl='<%# "../HotShopImg/"+DataBinder.Eval(Container.DataItem,"ImgURL") %>'


------Eval("picture").ToString()----记得加").ToString() 不然会提示object无法转换string

<href='<%# DataBinder.Eval(Container.DataItem,"url") %>'>
<asp:Image ID="Image1" runat="server" ImageUrl='<%# Eval("picture").Equals("")?"http://www.princehall.com.cn/img/no_img.gif":
 Eval("picture").ToString().Substring(0, Eval("picture").ToString().LastIndexOf(".")) + "C" 
+ Eval("picture").ToString().Substring(Eval("picture").ToString().LastIndexOf(".")) %
>' /></a>


Text='<%# Bind("price0", "{0:N2}") %>'

 

 

ip:1.1.1.1---1.1.1.*

<%# Regex.Replace((string)Eval("IP"), @"\.\d+$", ".*") %>

 

//      隐藏IP。
//      参数:
//      ip : 需要隐藏的IP。
//      n  : 隐藏的位数。
public  static  string  IP( string  ip,  int  n)

  
if ( string .IsNullOrEmpty(ip))
   {
    
return  string .Empty;
   }
 
string [] ary  =  ip.Split( ' . ' );
 
int  length  =  Text.GetArrayLength(ary);
 
string  result  =  ary[ 0 ];
 
for  ( int  i  =  1 ; i  <  length; i ++ )
  {
     
if (i  +  1  >   length  -  n)
      {
         result 
=  result  +  " .* "
      }
     
else
       {
          result 
=  result  +  " . "  +  ary[i];
        }
    }
  
return  result;
 }

Text.IP("192.168.0.1", 1);  结果 192.168.0.* 
Text.IP("192.168.0.1", 2);  结果 192.168.*.* 
Text.IP("192.168.0.1", 3);  结果 192.*.*.* 

 

 

 

  public string strphone(string phone)

        {
            string reg = phone.Substring(phone.Length - 8, 5);
            phone = phone.Replace(reg, "*****");
            return phone;
        }

137*****432           <%# strphone( Eval("phone").ToString()) %>  

 

使用Eval数据绑定时提示:字符文本中的字符太多

错误的  Text="<%# Eval('ProductID') %>">

正确的  Text='<%# Eval("ProductID") %>'>

 

    本文转自曾祥展博客园博客,原文链接:http://www.cnblogs.com/zengxiangzhan/archive/2009/09/23/1572343.html,如需转载请自行联系原作者


相关文章
|
4天前
|
搜索推荐 编译器 Linux
一个可用于企业开发及通用跨平台的Makefile文件
一款适用于企业级开发的通用跨平台Makefile,支持C/C++混合编译、多目标输出(可执行文件、静态/动态库)、Release/Debug版本管理。配置简洁,仅需修改带`MF_CONFIGURE_`前缀的变量,支持脚本化配置与子Makefile管理,具备完善日志、错误提示和跨平台兼容性,附详细文档与示例,便于学习与集成。
296 116
|
19天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
7天前
|
数据采集 人工智能 自然语言处理
Meta SAM3开源:让图像分割,听懂你的话
Meta发布并开源SAM 3,首个支持文本或视觉提示的统一图像视频分割模型,可精准分割“红色条纹伞”等开放词汇概念,覆盖400万独特概念,性能达人类水平75%–80%,推动视觉分割新突破。
458 44
Meta SAM3开源:让图像分割,听懂你的话
|
13天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
684 222
|
1天前
|
Windows
dll错误修复 ,可指定下载dll,regsvr32等
dll错误修复 ,可指定下载dll,regsvr32等
134 95
|
11天前
|
人工智能 移动开发 自然语言处理
2025最新HTML静态网页制作工具推荐:10款免费在线生成器小白也能5分钟上手
晓猛团队精选2025年10款真正免费、无需编程的在线HTML建站工具,涵盖AI生成、拖拽编辑、设计稿转代码等多种类型,均支持浏览器直接使用、快速出图与文件导出,特别适合零基础用户快速搭建个人网站、落地页或企业官网。
1678 158
|
存储 人工智能 监控
从代码生成到自主决策:打造一个Coding驱动的“自我编程”Agent
本文介绍了一种基于LLM的“自我编程”Agent系统,通过代码驱动实现复杂逻辑。该Agent以Python为执行引擎,结合Py4j实现Java与Python交互,支持多工具调用、记忆分层与上下文工程,具备感知、认知、表达、自我评估等能力模块,目标是打造可进化的“1.5线”智能助手。
927 61