Creating Hyperlinks

P

Patrick.O.Ige

Garth you can make use of a repeater.
Just embed a hyerplink control in it and Databind it.
Hope that helps
Patrick
 
M

Mark Fitzpatrick

You could actually do this in several ways. The trick is to think
object-oriented. First, you'll need to place your databsae code within an
event. You can't just place it inline as you could in classic asp. Your best
bet is to place it in the Page_Load event of your MenuSub.ascx.cs file. You
can do a couple of different things here.

The easiest, is to create a Literal control at the location you want between
the td elements like so:
<TD vAlign="middle" align="center" width="900" height="20"><asp:Literal
id="myLinks" runat="server"/></TD>

Now, in the codebehind you'll need to ensure you have this declared as a
variable as so:

protected Literal myLinks;

You can create your while loop just like you do, except instead of
response.writing, concatenate it into a string. Once you're done with the
look you can then dump the string which now holds the concactenated link
strings right into the literal such as myLinks.Text = stringLinks;

Of course, you could do it by creating a new HtmlAnchor object during each
iteration, setting the values from the datareader, and then adding them as a
child control to the literal. That would be the more object oriented
approach and give you a bit more control later on if you want to tie
server-side events such as an onlclick event to them, but initially you
would just end up with using a bit more memory and slower response to create
each object in the list.

Hope this helps,
Mark Fitzpatrick
Microsoft MVP - FrontPage



Garth Wells said:
used the following "classic ASP" approach to build a dynamic menu, but
would
like to know the proper way to implement the same functionality using a
.Net
technique (e.g., placing the code in the .cs file and dynamically building
the
hyperlink controls). The controls need to appear within the same <TD>,
separated by two spaces

Thanks for your help


-----
<%@ Import Namespace="Microsoft.Practices.EnterpriseLibrary.Data" %>
<%@ Import Namespace="Microsoft.Practices.EnterpriseLibrary.Data.Sql" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.Common" %>
<%@ Import Namespace="System.Data.SqlClient" %>

<%@ Control Language="C#" AutoEventWireup="true"
CodeFile="MenuSub.ascx.cs"
Inherits="SubMenu" %>
<table id="table1" cellSpacing="0" cellPadding="0" width="900" border="0">
<TR bgColor="#2a69b3">
<TD vAlign="middle" align="center" width="900" height="20">
<%
Database db = DatabaseFactory.CreateDatabase();
string sqlCommand = "pr_MenuSub_SELECT";
DbCommand dbCommand = db.GetStoredProcCommand(sqlCommand);
db.AddInParameter(dbCommand, "MM_Description", DbType.String,
"HR");

using (IDataReader dataReader = db.ExecuteReader(dbCommand))
{
while (dataReader.Read())
{
// Get the value of the Name column in the
DbDataReader.
Response.Write("<a href=" +
dataReader["MS_Page"].ToString() + ">" +
dataReader["MS_Description"].ToString()
+ "</href>");
Response.Write("&nbsp;&nbsp;");
}
}
%>
</TD>
</TR>
</table>
 
K

Kevin Spencer

For what you're describing, you would use a Repeater Control that is bound
to a DataTable. The Repeater Control repeats whatever HTML and data you put
into the Template.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
Who is Mighty Abbott?
A twin turret scalawag.
 
G

Garth Wells

used the following "classic ASP" approach to build a dynamic menu, but would
like to know the proper way to implement the same functionality using a .Net
technique (e.g., placing the code in the .cs file and dynamically building the
hyperlink controls). The controls need to appear within the same <TD>,
separated by two spaces

Thanks for your help


-----
<%@ Import Namespace="Microsoft.Practices.EnterpriseLibrary.Data" %>
<%@ Import Namespace="Microsoft.Practices.EnterpriseLibrary.Data.Sql" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.Common" %>
<%@ Import Namespace="System.Data.SqlClient" %>

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="MenuSub.ascx.cs"
Inherits="SubMenu" %>
<table id="table1" cellSpacing="0" cellPadding="0" width="900" border="0">
<TR bgColor="#2a69b3">
<TD vAlign="middle" align="center" width="900" height="20">
<%
Database db = DatabaseFactory.CreateDatabase();
string sqlCommand = "pr_MenuSub_SELECT";
DbCommand dbCommand = db.GetStoredProcCommand(sqlCommand);
db.AddInParameter(dbCommand, "MM_Description", DbType.String, "HR");

using (IDataReader dataReader = db.ExecuteReader(dbCommand))
{
while (dataReader.Read())
{
// Get the value of the Name column in the DbDataReader.
Response.Write("<a href=" +
dataReader["MS_Page"].ToString() + ">" + dataReader["MS_Description"].ToString()
+ "</href>");
Response.Write("&nbsp;&nbsp;");
}
}
%>
</TD>
</TR>
</table>
 

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,768
Messages
2,569,574
Members
45,048
Latest member
verona

Latest Threads

Top