你有几种选择。
方案1。添加一个PlaceHolder
到你的aspx,并填写你想要的内容。
<asp:PlaceHolder runat="server" ID="PlaceHolder1"></asp:PlaceHolder>
然后你就可以到这个PlaceHolder
从后面的代码添加内容。
String sql = "exec dbo.spLoadCandidates @NationalID, @PostID";
SqlDataReader reader;
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddWithValue("@NationalID",TextBox2.Text.Trim());
cmd.Parameters.AddWithValue("@PostID,", DropDownList1.SelectedValue);
conn.Open();
reader = cmd.ExecuteReader();
while (reader.HasRows)
{
// Create div.
var div = new System.Web.UI.HtmlControls.HtmlGenericControl("DIV");
createDiv.InnerHtml = "" // Fill with your content...
// Add to placeholder.
PlaceHolder1.Add(createDiv);
}
conn.Close();
}
备选2。使用Repeater
您的aspx。
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<div><%# Eval("Name") %></div>
</ItemTemplate>
</asp:Repeater>
背后代码:
// Some class to keep your info...
public class MyModel
{
public string Name { get; set; }
}
并且代码:
String sql = "exec dbo.spLoadCandidates @NationalID, @PostID";
SqlDataReader reader;
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddWithValue("@NationalID",TextBox2.Text.Trim());
cmd.Parameters.AddWithValue("@PostID,", DropDownList1.SelectedValue);
conn.Open();
reader = cmd.ExecuteReader();
var list = new List<MyModel>();
while (reader.HasRows)
{
var model = new MyModel();
model.Name = "foo"; // Fill with your content...
list.Add(model);
}
conn.Close();
// Bind to repeater.
Repeater1.DataSource = list;
Repeater1.DataBind();
}
您是否使用WebForms,MVC或其他? – davke
正在使用网页表单... –
看看''http://code.runnable.com/UjMj269qAWwQAAB3/asp-net-how-to-use-repeater –
TryingToImprove