asp:literal and hyperlink field

L

les

I'm new to asp.net. (refugee from old asp)
I have a database field "Website", which is a url and I want it be a
hyperlink. I can display the url as text using:

<asp:literal id="litWebsite" runat="server"></asp:literal>

But I want it to be a hyperlink. I tried enclosing the above line in
an <a href......> tag but no good.

Any tips for a newbie??
Thanks
Leslie
 
D

David Waz...

uh, no that's not how to do it! :)

<asp:LinkButton id="link1" runat=server />

then, in your code-behind:

at top:
Protected link1 as LinkButton

and finally, within your code - one way to do this:

link1.text=o_dataRow.item("WebSite")

That's it...

PS: this is pretty basic stuff, not complicated. Glad to answer this kind
of stuff, but you should have been able to find this in ANY beginner book on
ASP.Net stuff. You should get and read one of um...
 
S

Steve C. Orr, MCSD

Well it could be as simple as this:
<asp:literal id="litWebsite" runat="server"><a href='whatever.aspx'>click
here</a></asp:literal>

Or you could put a hyperlink web server control in there, etc.
 
L

les

Thanks David, but believe me I have searched everywhere for this!
Maybe its so basic that I can't see it. I managed to include links in
datagrid pages with no problem, but this is doing my head in.

The code here shows my data on the page sucessfully, but could you
show me how I amend it to show the link. Also, some fields are long
text with carriage returns. How do I show these properly formatted?
Thanks again
Leslie

=============================

<script runat="server">
Sub Page_Load (sender As Object, e As EventArgs)
Dim conn As OleDbConnection
Dim cmd As OleDbCommand
Dim rdr As OleDbDataReader
Dim strId As String
Dim strSQL As String
strId = Request.QueryString("id")

Conn = New OleDbConnection ("PROVIDER=SQLOLEDB;
server=servername;database=briefings;User Id=;Password=;")
Conn.open

strSQL = "SELECT * FROM Briefings WHERE id = " & strId & " "
cmd = New OleDbCommand(strSQL, conn)
rdr = cmd.ExecuteReader
If rdr.Read Then
litid.Text = rdr.Item("id")
litTitle.Text = rdr.Item("Title")
litEmail.Text = rdr.Item("Email")
litAddDate.Text = Format(rdr.Item("AddDate"), "dd-MMM-yyyy")
litContact.Text = rdr.Item("Contact")
litDetails.Text = rdr.Item("Details")
litAuthor.Text = rdr.Item("Author")
litWebsite.Text = rdr.Item("Website")

Else
litID.Text = "ID '" & strId & "' not found"
End If
rdr.Close
cmd.Dispose
conn.Close
End Sub

</script>
================================

Then in the html:
<asp:literal id="litWebsite" runat="server"></asp:literal>

================================
 
L

les

Thanks. I found another way to do it using:

litWebsite.text = "<A HREF='" + rdr.Item("Website") + "'>" +
rdr.Item("Website") + "</A>"

and in the html:
<asp:literal id="litWebsite" runat="server"></asp:literal>

But I will keep your answer for next time :)

By the way I already have a book: "Web database development step by
step" by Jim Buyens. I have found it very useful, having come from
asp, just starting out with .net. Also I just discovered Web Matrix
which is good for editing.

Thanks again
Leslie
 
D

David Waz...

That'll work - but it's ugly! (MHO) ;-)

I wish you would try the .Net way - you'll learn something new, and not get
into bad habits.
 
M

msnews.microsoft.com

You could do something along those lines if you made, say, a datatable a
static member. That's key -- has to be static to be callable:

<%=this.StaticDataTable.Rows[0]["Website"].ToString()%> or something like
that...

Or make the row static:

<%=this.StaticRow["Website"].ToString()%>

So your accessors would look like this:

public static DataTable StaticDataTable()
{
// Load your data, returning the datatable.
}

public static DataRow StaticRow()
{
// Load your data, get the row and return it.
}

But I don't think you could do it with a reader. Anyone correct me if I'm
wrong on that.

If you're looking for something that repeats, and will accept your
formatting and the like given a datareader, take a look at the Repeater web
control.

Luck!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top