在aspx中,前台的HTML页面取值问题
<asp:Image ID="Image1" runat="server" Height="79px" Width="86px"ImageUrl ='<%#DataBinder.Eval(Container.DataItem,"first_Imagepath") %>' /></a>
这是绑定的现在我想判断这个first_Imagepath,应该怎么先取值啊!!!! --------------------编程问答-------------------- Image1 .ImageUrl --------------------编程问答-------------------- 是在html不能用<=变量>啊
我就是现在想判断他要是为空的话不显示图片!! --------------------编程问答-------------------- 帮你顶了 --------------------编程问答-------------------- <asp:Image ID="Image1" runat="server" Height="79px" Width="86px"
ImageUrl =' <%#DataBinder.Eval(Container.DataItem,"first_Imagepath").tostring().length<0? DataBinder.Eval(Container.DataItem,"first_Imagepath").tostring().substring(0,0):DataBinder.Eval(Container.DataItem,"first_Imagepath").tostring()%>' /> 你试试这样! --------------------编程问答--------------------
支持 --------------------编程问答-------------------- databind事件中写 ,你这个是不是放在gridview中啊?是的话onrowdatabind事件 --------------------编程问答--------------------
不行!!! --------------------编程问答--------------------
就那样试下。直接用三元表达试 --------------------编程问答-------------------- <asp:Image ID="Image1" runat="server" Height="79px" Width="86px" ImageUrl =' <%#DataBinder.Eval(Container.DataItem,"first_Imagepath").tostring().length<0? DataBinder.Eval(Container.DataItem,"first_Imagepath").tostring().substring(0,0):
DataBinder.Eval(Container.DataItem,"first_Imagepath").tostring()%>' />
刚才的字体被撑到外面了,是这样的! --------------------编程问答--------------------
up --------------------编程问答-------------------- 帮顶~~~~~~~~~~~~~~~ --------------------编程问答--------------------
--------------------编程问答-------------------- Up Up Upup
var fPath=document.getElementById('<%= Image1.ClientID %>').src;
--------------------编程问答--------------------
提示什么错误。ToString()注意大小写。 --------------------编程问答--------------------
我是用手写的!直接在编辑器上面敲的! --------------------编程问答--------------------
<a href="****">
<%# Eval("first_Imagepath").ToString()=="" ? "" : "<img src=\""+ Eval("first_Imagepath") +"\">"%>
</a> --------------------编程问答-------------------- 如果需要可以把其他参数也加上:
<a href="****">
<%# Eval("first_Imagepath").ToString()=="" ? "" : " <img src=\""+ Eval("first_Imagepath") +"\" id=\"Image1\" Height=\"79px\" Width=\"86px\">"%>
</a>
--------------------编程问答--------------------
又有改动了,现在就是只显示第一张图片。其他图片不显示!!!! --------------------编程问答-------------------- <asp:Image ID="Image1" runat="server" Height="79px" Width="86px"
ImageUrl =' <%#GetImgPath(Eval("first_Imagepath").ToString()) %>' />
后台写个方法:public string GetImgPath(string str)
{
if(str==null||str=="")
{
return "nopic.img path";//返回一张表示没有图片的图片
}
else
{
return str;
}
} --------------------编程问答--------------------
<%#DataBinder.Eval(Container.DataItem,"first_Imagepath")
这样的代码实际是在页面展示的时候作为HTML代码中的已知常量显示的,不是变量。所以要判断,只能在服务端代码中进行判断。
在HTML中,你可以使用js代码来赋值。
<asp:Image ID="Image1" runat="server" Height="79px" Width="86px"/> </a>
var strUrl=' <%#DataBinder.Eval(Container.DataItem,"first_Imagepath") %>';
if(strUrl.length>0)
{
document.getEmlentByID('Image1').Url=strUrl;
}
代码的书写不一定正确,但是思路大体是这样的,希望对楼主有帮助
--------------------编程问答--------------------
没怎么看明白,你这是只显示第一张图片,其他都不显示吗 --------------------编程问答-------------------- <asp:Image ID="Image1" runat="server" Height="79px" Width="86px"
ImageUrl =' <%#BindCheck(DataBinder.Eval(Container.DataItem,"first_Imagepath"))%>' /> </a>
cs:
protected string BindCheck(object obj)
{
if(***)
{
return ***;
}
else
{
return ***;
}
} --------------------编程问答-------------------- 在cs文件里加一个protected 方法来验证数据 --------------------编程问答-------------------- up,如果三元运算满足不了你的要求,建议用函数,To:22 --------------------编程问答-------------------- 简单逻辑处理的用4楼,复杂的用22楼
补充:.NET技术 , ASP.NET