求助:GridView的ImageField字段如何才能从数据库字段的字符串中提取图片名?
我的应用是,一种产品的多个图片名称和路径都存在数据库的Imgdir字段里,以“,”号隔开,图片数量可变,这样,要显示的图片数量也不是固定的,这样把ImageField的DataImageUrlField域绑定到数据库的Imgdir字段就显示不出来图。我的第一个问题是:如何写代码,先让ImageField至少读出来imgdir里的第一个图,也就是第一个“,”号前的字符串。我看过C#有split函数,不知道在这里要怎么用。
第二个问题,如果要实现显示当前记录的所有图,应该是要用代码来添加image元件,不知道怎么写?
刚接手ASP.NET 困难重重,还望大侠们相助!感激ING
--------------------编程问答-------------------- 无人能解吗? --------------------编程问答-------------------- 我的第一个问题是:如何写代码,先让ImageField至少读出来imgdir里的第一个图,也就是第一个“,”号前的字符串。我看过C#有split函数,不知道在这里要怎么用。
第二个问题,如果要实现显示当前记录的所有图,应该是要用代码来添加image元件,不知道怎么写?
----------------
1.先字符串解析赋给一个数组吧,思路大概这样
2.image imm=new image();
属性 --------------------编程问答-------------------- string imagestr=Imgdir;
int a=imagestr.indexof(",");
string imagename=imagestr.substring(0,a); --------------------编程问答-------------------- 感谢二位关于拆分字符串的答复,我主要关心如果设置到ImageField的DataImageUrlField去,要在哪个事件里加入上面拆分字符串的代码,谢谢! --------------------编程问答-------------------- 绑定表达式这样写 <%# this.MyPathConverter((string)Eval("mgdir")) %>
然后,在你的页面代码部分写一个函数:
protected string MyPathConverter(string dir)
{
//.......
return 通过dir计算出要绑定的路径(dir);
} --------------------编程问答-------------------- 看起来你只会在绑定表达式中写简单的Eval、Bind,不会自己写函数。 --------------------编程问答--------------------
实际上,大多数绑定功能你都不要先去想后台事件是什么。虽然也可以在事件RowDataBound中去写,但是那个做法不够简洁清楚,特别是当你的界面比较酷、需要时不时地改一改界面设计时。例如对于一个简单的Label,你可能不仅仅希望Text属性是数据敏感的,可能对于BackgroondColor甚至cssClass都是数据敏感的,使用绑定表达式来引领所有界面设计,尽量不要在后台事件代码中处理静态界面设计所涉及的东西。事件应该用来处理用户操作(业务逻辑),尽量不要在其中掺杂界面设计方面的代码。 --------------------编程问答-------------------- 一遇到界面灵活调整的问题就反应为“在哪个事件中编写代码”,这是一个不太好的习惯。这用在3、4年前asp.net功能还比较低级时是可以的,如果你是从过时的入门教材中学了那么多编程知识,应该更新到比较先进的设计知识,新的方法更加适合大规模地、经常(几天就)对整站进行改头换面的界面变化的情况。
补充:.NET技术 , ASP.NET