像php一样在c#中绑定数据,这是可能的


binding data in asp c# like php, is that possible?

我是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>