c# - 使用 c#/asp.net 显示来自数据库的超链接列表

标签 c# asp.net

我是 asp.net/c# 新手,我正在尝试创建一个从我的数据库生成的非常简单的菜单。 到目前为止,我已经成功地将表从数据库中提取到数据表中,然后从那里提取到数组中。

我的问题是我还没有弄清楚如何在我的页面中循环使用数据(菜单会根据用户类型而变化)。 我尝试使用 <% =Array %>但我似乎无法在 while/for 循环甚至赋值行中使用它。

也许我以错误的方式攻击这个问题,我想我的问题基本上是这样的: 我如何在动态页面中使用从数据库中收集的数据(名称、网址)?

这是我当前的代码:

    public string[] keep = new string[100];
public void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        //Response.Write("response in postback");
        getMenu();
    }
}

void getMenu()
{
    Response.Write("response in getmenue");
    SqlConnection con = new SqlConnection();
    con.ConnectionString = "server=(local);database=PhilipsMaterials;Integrated Security=SSPI;";
    con.Open();
    DataSet ds = new DataSet();
    DataTable dt = new DataTable();
    string sql = "Select * from Materials";
    SqlDataAdapter da = new SqlDataAdapter(sql, con);
    da.Fill(ds);
    dt = ds.Tables[0];
    DataRow[] drowpar = dt.Select();
    int i = 0;
    foreach (DataRow dr in drowpar)
    {
        keep[i] = dr["Material Name"] as string;
        i = i + 1;
    }

    con.Close();

}

谢谢。

最佳答案

您只需要使用像 gridview 或 repeater 这样的数据控件。然后您可以将数据集绑定(bind)到这些控件的数据源属性。从我的角度来看,中继器将是动态菜单的最佳数据 Controller 。

这里是中继器的标记

  <asp:Repeater ID="Rept" runat="server">
    <HeaderTemplate>
    <ul>
    </HeaderTemplate>
    <ItemTemplate>
    <li><a href='<%#Eval("url") %>'><%#Eval("names") %></a></li>
    </ItemTemplate>
    <FooterTemplate>
    </ul>
    </FooterTemplate>

这是绑定(bind)数据集的代码

Rept.DataSource = ds;
Rept.DataBind();

关于c# - 使用 c#/asp.net 显示来自数据库的超链接列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14005771/

相关文章:

asp.net - 每次标记复选框时 VB.NET 页面都会重新加载

javascript - IE10 发送带小数(浮点值)的图像按钮单击坐标导致 ParseInt32 FormatException

c# - ASP.NET AJAX 工具包组合框 : avoid the need to click ENTER twice to postback

c# - 通用存储库和事务

c# - 机器人数据未保存

c# - 反序列化和异步/等待

c# - 如何在 VS2013 中创建一个空的 MVC 5 项目

c# - 与在 C# 中隐藏和显示表单相比,关闭表单并重新加载所有数据有什么好处?

javascript - 如何在 JavaScript 中获取 checkbox1.Checked 属性?

c# - 如何将 Facebook 赞按钮集成到我们的 asp.net c# 网站