It has always bothered me that for a "short" description, by default 50 words or less, the "read more" link still appears even though there is no more to read. I've come up with a solution that I want to share with anyone who's also annoyed by this. I added two functions to the shared_routines.vb file.
Public Function HasMore(ByVal originalInput As Object) As Boolean
Return HasMore(originalInput, TRUNCATE_COUNT)
End Function
Public Function HasMore(ByVal originalInput As Object, ByVal wordsLimit As Integer) As Boolean
If originalInput Is Nothing Or IsDBNull(originalInput) Then
Return False
Else
Dim words() As String = Split(CStr(originalInput))
If words.Length > wordsLimit Then
Return True
Else
Return False
End If
End If
End Function
To use these functions, add the visible attribute to the "read more" link on a page as follows.
<asp:HyperLink ID="newslink" runat="server" NavigateUrl='<%# "news_view.aspx?articleid=" &Cstr( Eval("ID"))%>' visible='<%# hasmore(Eval("description")) %>'>read more »</asp:HyperLink>
Some of the "read more" links are actually html anchor tags. You'll need to add a runat="server" attribute to the <a> tag in order to have access to a visible attribute.
I have a rather limited test environment so if anyone tries this and has trouble, post back and let me know.
-Mike