我是asp.net的新手,我想知道的是如何将数据直接绑定到自定义div中在不使用数据网格或任何其他东西的情况下,假设我想为存储在sql DB中的东西绑定一个描述。
在PHP中,我曾经这样做:
<p>
<?php echo $row_RecordSetName['col']; ?>
</p>
但是如何在asp.net中使用c#在webform中做呢?
我试着在数据集中这样做,但它一直给出错误:
<p>
<%= Dataset.DB[0].colNAME.ToString() %>
</p>
以及我尝试做以下愚蠢的方式:
try
{
for (int i = 1; i < 7; i++)
{
SqlConnection cn = new SqlConnection("Data Source=server;Initial Catalog=db;Integrated Security=True");
SqlCommand cmd = new SqlCommand("SELECT * FROM mallsdb where mall_un='" + i + "'", cn);
SqlDataAdapter da = new SqlDataAdapter(cmd);
MallsDS tds = new MallsDS();
da.Fill(tds, tds.Tables[0].TableName);
string MallPIC = Convert.ToString(tds.mallsdb[0].mall_pic);
string MallNAME = Convert.ToString(tds.mallsdb[0].mall_name);
string MallUn = Convert.ToString(tds.mallsdb[0].mall_un);
string MallDESP;
string check_desp = Convert.ToString(tds.mallsdb[0].mall_desp);
if (check_desp.Length < 50)
{
MallDESP = check_desp;
}
else
{
string under = check_desp.Substring(0, 30);
MallDESP = under + "....";
}
Result[i] = "<div class='malls'>" + "<img src='images/" + MallPIC + "' width='250' height='250' />" + "<a class='namer' href='malls_private.aspx?mall_un=" + MallUn + "'><h1>" + MallNAME + "</h1></a><p>" + MallDESP + "</p></div>";
}
}
catch (Exception ex)
{
Response.Write("Error:" + ex.ToString());
}
Label1.Text = Result[1];
Label2.Text = Result[2];
Label3.Text = Result[3];
Label4.Text = Result[4];
Label5.Text = Result[5];
Label6.Text = Result[6];
在c#中,你可以在aspx中做一些类似<div runat='server' id='divWhateverDiv'>
的事情,然后在实际的c#代码中(不是在aspx本身),你可以通过它的id引用div元素作为一个普通的c#变量,并做一些类似divWhateverDiv.innerHTML = "whatever";
的事情。Visual Studio的智能感知将帮助你实现成员的实际大写等等。这更像是老asp而不是asp.net
谢谢朋友们,下面是我的问题的答案,因为我在微软MSDN上看到了。
<%@ Page language="c#" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
SqlConnection cnn = new
SqlConnection("server=(local);database=pubs;Integrated Security=SSPI");
SqlDataAdapter da = new SqlDataAdapter("select * from authors", cnn);
DataSet ds = new DataSet();
da.Fill(ds, "authors");
Repeater1.DataSource = ds.Tables["authors"];
Repeater1.DataBind();
}
</script>
<html>
<body>
<form id="WebForm2" method="post" runat="server">
<asp:Repeater id="Repeater1" runat="server">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"au_id") %><br>
</ItemTemplate>
</asp:Repeater>
</form>
</body>
</html>