0

フレームの下のように、データベース テーブルの 1 行のコンテンツを表示したいと考えています。表には写真と説明の列があります。また、いくつかのアクションのために、画像に記載されているような2つのボタンが必要です。私のデータベース テーブルには、約 100 以上のレコードがあります。したがって、私の Web ページでは、実行時に以下のように 100 フレームを表示したいと考えています。これは、将来、このレコードが 1000 に達する可能性があるためです。

ここに画像の説明を入力

私は Web アプリケーション開発の初心者です。ASP.NET で私の目標を達成するための最良の GUI コントロールを提案してくれる人がいます。チュートリアルやサンプル リンクは非常に役立ちます。

ありがとう。

4

2 に答える 2

1

まず、ここに示すように、そのデザインでユーザーコントロールを作成します。

次に、リピーター内でこのユーザーコントロールを使用し、データベースパラメーターをユーザーコントロールに渡して、正しいレンダリングを行います。さらに、同じ方法で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;
    }
}
于 2012-12-09T07:46:28.900 に答える
1

カスタムフォーマットをサポートしているため、リストビューコントロールを使用できます。リピーターは2番目のオプションですが、listviewにはリピーターよりも多くの機能があります。

于 2012-12-09T07:48:01.110 に答える