我想显示我的数据库表的一行内容,如下图所示。表格有照片和描述栏。我还想要图像中提到的两个按钮来执行某些操作。我的数据库表有大约 100 多条记录。所以在我的网页中,我想在运行时显示如下所示的 100 帧,因为将来这条记录可能会上升到 1000。
我是 Web 应用程序开发的新手。任何人都建议我使用 ASP.NET 实现我的目标的最佳 GUI 控件。任何教程或示例链接都会有很大帮助。
谢谢。
首先,您使用该设计创建一个用户控件,正如我在此处看到的那样。
然后,您在转发器中使用此用户控件并将数据库参数传递给用户控件以进行正确的渲染。另外您可以使用和DataView 相同的方式。
自定义控件:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ShowData.ascx.cs" Inherits="Dokimes_StackOverFlow_ShowData" %>
<asp:Literal runat="server" ID="txtTheID" EnableViewState="false" />
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
<hr /><br />
以及背后的代码:
public partial class Dokimes_StackOverFlow_ShowData : System.Web.UI.UserControl
{
public int cValueID = -1;
protected void Page_Load(object sender, EventArgs e)
{
txtTheID.Text = cValueID.ToString();
}
protected void Button1_Click(object sender, EventArgs e)
{
}
}
以及使用它的主页:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<uc1:ShowData ID="ShowData1" runat="server" cValueID="<%# GetID(Container.DataItem) %>" />
</ItemTemplate>
</asp:Repeater>
</div>
</form>
</body>
</html>
和背后的代码
public partial class Dokimes_StackOverFlow_ShowRepeatedData : System.Web.UI.Page
{
List<int> oMainIds = new List<int>();
override protected void OnInit(EventArgs e)
{
for (int i = 0; i < 10; i++)
{
oMainIds.Add(i);
}
Repeater1.DataSource = oMainIds;
Repeater1.DataBind();
base.OnInit(e);
}
protected void Page_Load(object sender, EventArgs e)
{
}
public int GetID(object oItem)
{
return (int)oItem;
}
}
您可以使用listview控件,因为它支持自定义格式。中继器是第二个选项,但列表视图比中继器具有更多功能。