如题:我想根据用户是否填写了主页地址来决定是否在动态使用不同的图片,并且如果有主页地址的话就给图片加上<A></A>标记.动态图片可能用绑定,这个我会弄,可是怎么才能决定是否要加上<A>标记呢?
解决方案 »
- Asp.net(C#) 如何在后台调用javascript 函数
- 重开,求一个SiteMapPath导航用于论坛的实现方法
- GridView 背景色
- 如何判断输入的格式为时间格式
- 如何读取数据库中的图片?
- 大家都来讨论,域名映射的问题(来者有分,决不失言)
- 这几行代码是什么意思啊?
- 如何正确使用?请问错误在哪里?请高手指教了!谢谢!!在线给分。
- 别人给的一个代码,asp.net的只有ExamineSystem.sln 没有ExamineSystem.csproj
- C#里怎么将图片写入数据库并显示出来?
- 请教如何在DataGrid的TemplateColumn中调用公共类方法?!
- 做过软件的朋友请进!
(1)当数据符合一定的条件需要修改它的呈现方式
(2)将数据库中的逻辑值(0,1)变成男女来呈现等等
大致有2种方法来实现上述操作
(1)在ItemDataBound中修改值
(2)在绑定的时候用一个函数进行过虑
我们来实现以下2个功能
(1)在ItemDataBound中把年龄小于30的人的一行底色修改为粉红色
代码如下
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem||e.Item.ItemType==ListItemType.EditItem)
{
if(Convert.ToInt16(DataBinder.Eval(e.Item.DataItem,"iAge"))<30)e.Item.BackColor=Color.Pink;
}
}
当然需要注册事件
this.DataGrid1.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_ItemDataBound);
(2)把姓名为“朱晔”的人,用加重显示
前台代码
<%#DataBinder.Eval(Container.DataItem,"vName") %>
修改为
<%# myfunc(DataBinder.Eval(Container.DataItem,"vName")) %>
后台代码
protected string myfunc(object s)
{
string _s;
if(s.ToString()=="朱晔")
_s="<b>"+s.ToString()+"</b>";
else
_s=s.ToString();
return _s;
}以上2种功能也就是我上面说的大致有2种方法来实现上述操作
就这么简单。
对于其他的一些相关扩展就不细说了
比如根据一个值来改变一些控件的属性:
如果控件是模板列中的可以通过((控件类型)e.Item.FindControl(id)).属性=值 来动态设定;
如果控件不是模板列中的可以通过((控件类型)e.Item.Controls[索引号]).属性=值 来动态设定
还比如根据一个列的值来写其他列的统计值,都一样的
在ItemDataBound事件方法中进行操作,因为这个时候数据绑定了
end if这样不就可以了么?
ft63(ft)的方法应该也可行,只不过写起来如果项比较多的话,可能容易出错。
多谢各位!