Mostly the classic ASP \ PHP \ Spaghetti approach is used.
First of all, put your code in one public method that returns string . Method:
public string getWhileLoopData() { string htmlStr = ""; SqlConnection thisConnection = new SqlConnection(dbConnection); SqlCommand thisCommand = thisConnection.CreateCommand(); thisCommand.CommandText = "SELECT * from Test"; thisConnection.Open(); SqlDataReader reader = thisCommand.ExecuteReader(); while (reader.Read()) { int id = reader.GetInt32(0); string Name = reader.GetString(1); string Pass = reader.GetString(2); htmlStr +="<tr><td>"+id+"</td><td>"+Name+"</td><td>"+Pass+"</td></tr>" } thisConnection.Close(); return htmlStr; }
Then you can use the <%=getWhileLoopData()%> in ASP.NET, which is <%Response.Write(getWhileData())%>
It should look something like this:
<%@ Page Language="C#" AutoEventWireup="true" MasterPageFile="~/test.master" CodeFile="test.aspx.cs" Inherits="test" %> <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="ContentPlaceHolder"> <table width="100%" align="center" cellpadding="2" cellspacing="2" border="0" bgcolor="#EAEAEA" > <tr align="left" style="background-color:#004080;color:White;" > <td> ID </td> <td> Name </td> <td>Pass</td> </tr> <%=getWhileLoopData()%> </table> </asp:Content>
There is also the option to use the repeater control and bind the data from your database to the element template to your liking.
source share