在不使用中继器或其他控件的情况下将数据显示到ASPX页面

本文关键字:数据 情况下 显示 页面 ASPX 控件 中继器 其他 | 更新日期: 2023-09-27 18:19:44

我有一个示例代码片段,它运行得很好(出于示例目的,我对查询进行了一些修剪)。我想在ASPX文件中显示数据,但我不想使用中继器、数据网格或类似的东西。我应该提一下,我不在MVC3工作。

在ASP3.0中,可以使用DOWHILE循环来实现这一点,但我似乎无法让它在ASPX中工作。有人能发布一个代码片段来完成这项工作吗?非常感谢。

    public void sqlconn2(object sender, EventArgs e)
    {
        SqlConnection cn = null;
        cn = new SqlConnection(ConfigurationManager.ConnectionStrings["sqlConn"].ToString());
        cn.Open();
        SqlCommand cmd = new SqlCommand("SELECT DISTINCT submajor.subid FROM subdetails", cn);
        myreader = cmd.ExecuteReader();
    }
    public static SqlDataReader myreader { get; set; }

编辑:如果我把代码直接放在标记中,它就可以工作了。显然我不想这样做。以下是标记代码的工作示例:

            <%
        System.Data.SqlClient.SqlConnection cn = null;
        cn = new System.Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings["sqlConn"].ToString());
        cn.Open();
        System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand("SELECT DISTINCT submajor.subid FROM subdetails", cn);
        myreader = cmd.ExecuteReader();
        %>
        <% 
        while (myreader.Read())
           {
               if (myreader["subid"] != null)
               {%>
                   <div><%Response.Write(myreader["subid"]);%></div>
               <%}
           }
       %>

在不使用中继器或其他控件的情况下将数据显示到ASPX页面

您可以尝试下面的代码。

在aspx标记中添加标签控件

<asp:Label id="container" runat="server"/>

在你的代码库中,在你需要的地方使用你的数据阅读器。

 while (myreader.Read())
           {
               if (myreader["subid"] != null)
               {
                   string str = string.Format("<div>{0}</div>",myreader["subid"]);
                   container.Controls.Add(new LiteralControl(str)); //label we added in markup
               }
       }

不幸的是,这里有一些问题。ASPX(ASP.NET WebForms)就是关于使用控件的。任何其他方式都会破坏模型。

ASP.NETMVC几乎要求您必须自己完成,而不使用控件。

这里的答案不能很快概括,但是http://www.asp.net/mvc很棒,音乐商店教程应用程序-http://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-1-是一个非常好的介绍/解释。

(根据您最近的编辑,在MVC中,您可以编写在标记中显示数据的代码,这是您不想做的,但这才是真正的归属。常规ASPX WebForms使用属性等将视图抽象为控件,MVC允许您在视图标记中显示;这是两个最佳选项)

相关文章: