我要在列表中较新的新闻后面现实new图片我在.aspx的GridView里面调用<%#ShowNewPic(Eval("newsdate"))%>就可以正常判断
但在.ascx文件中同样调用<%#ShowNewPic(Eval("newsdate"))%>就没有反应???怎么解决?
代码如下:
Public Function ShowNewPic(ByVal s As DateTime)
If s.AddDays(1) > DateTime.Now Then
Return "<img src='/images/new.gif' align='absmiddle'>"
Else
Return "<img src='/images/no.gif' align='absmiddle'>"
End If
End Function
但在.ascx文件中同样调用<%#ShowNewPic(Eval("newsdate"))%>就没有反应???怎么解决?
代码如下:
Public Function ShowNewPic(ByVal s As DateTime)
If s.AddDays(1) > DateTime.Now Then
Return "<img src='/images/new.gif' align='absmiddle'>"
Else
Return "<img src='/images/no.gif' align='absmiddle'>"
End If
End Function
在ascx页面不能直接<%#ShowNewPic(Eval("newsdate"))%>这样写楼主应该好好了解下<%# %>和<%= %>这两个用法:
<%# %>这个需要在后台绑定的。。如:<%# Eval("字段名")%>
<%= %>这个需要在后台赋值的。。如:<%= 变量名 %>
<%=ShowNewPic(Eval("newsdate"))%>也不行啊
倒,这样当然不行了```
<%= %>
这个用法是需要在后台赋值例如:你在后台声明变量:public string text="";
然后在page_load中给它赋值:text="sssssssssss";
前台就可以直接<%=text%>这样用了
用了标签,文字和连接都是没问题的<a href="/details.aspx?id=&&id,,,0&&" title="&&title,,,0&&">&&title,,,50&&</a>&&id,,<img src="/images/new.gif">,0&&<%#ShowNewPic(Eval("newsdate"))%>
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.FindControl("Image1") IsNot Nothing Then
Dim img As System.Web.UI.WebControls.Image = DirectCast(e.Row.FindControl("Image1"), System.Web.UI.WebControls.Image)
Dim drv As DataRowView = DirectCast(e.Row.DataItem, DataRowView)
If Convert.ToDateTime(drv.Row("s")).AddDays(1) > DateTime.Now Then
img.ImageUrl = "images/new.gif"
Else
img.ImageUrl = "images/no.gif"
End If
End If
End If
End Sub
我在.aspx的GridView里面调用 <%#ShowNewPic(Eval("newsdate"))%>就可以正常判断 ,并且显示图片
但在.ascx文件中同样调用 <%#ShowNewPic(Eval("newsdate"))%>就没有反应???
这种写法你没有绑定。所以Eval("newsdate")根本就取不到值
那为什么新闻的列表可以显示?而只是判断new的图片不能显示
Dim MyRe As SqlDataReader = MyCom.ExecuteReader
Dim FileName As String = Server.MapPath("~/template/news1.ascx")
dlNews.ItemTemplate = New TemplateClass(FileName, TemplateClass.tEnumFromType.FromFile)
dlNews.DataSource = MyRe
dlNews.DataBind()这个已经绑定到,ascx控件上了
GridView里面调用 <%#ShowNewPic(Eval("newsdate"))%>就能实现new!2但是通过,自定义ascx控件,调用就不能显示new图片,但数据还是可以显示!3数据已经绑定了
Dim MyRe As SqlDataReader = MyCom.ExecuteReader
Dim FileName As String = Server.MapPath("~/template/news1.ascx")
dlNews.ItemTemplate = New TemplateClass(FileName, TemplateClass.tEnumFromType.FromFile)
dlNews.DataSource = MyRe
dlNews.DataBind()
4代码如下:
Public Function ShowNewPic(ByVal s As DateTime)
If s.AddDays(1) > DateTime.Now Then
Return " <img src='/images/new.gif' align='absmiddle'>"
Else
Return " <img src='/images/no.gif' align='absmiddle'>"
End If
End Function
Dim tempValue As String = String.Empty If s.AddDays(1) > DateTime.Now Then
tempValue = " <img src='images/new.gif' align='absmiddle'>"
Else
tempValue = " <img src='images/no.gif' align='absmiddle'>"
End If
Return tempValue
End Function