0

私が試みていることを達成するために使用できる既存のコントロールがあるかどうか疑問に思っていました。

基本的に、ヘッダー情報を表示する html テーブルがあります。

次のようになります。

<table class="tableEdit">
    <tr>
        <th>Job ID</th><td>10</td>
        <th>Client</th><td>Tom</td>
    </tr>
    <tr>
        <th>Comments</th><td>Comments are here</td>
    </tr>
</table>  

コンテナーとして使用できる既存のコントロールがあるかどうか疑問に思っています。次に、データソースをそのコントロールに割り当てて、フィールド値をそのまま活用できます。

<asp:Somecontrol runat="server" ID="someid">

<table class="tableEdit">
    <tr>
        <th>Job ID</th><td><%# Eval("Id") %></td>
        <th>Client</th><td><%# Eval("Client.Name") %></td>
    </tr>
    <tr>
        <th>Comments</th><td><%# Eval("Comments") %></td>
    </tr>
</table> 

</asp:Somecontrol>

private void BindHeader()
{
 SomeObjectType data = DAL.SomeMethod();
 someid.Datasource = data;
 someid.DataBind();
}

これを行うために何かありますか?コンテナー内のフィールドのレイアウトを制御できるようにしたいと考えています。

ありがとう。

4

3 に答える 3

1

実際に私が求めていたのは FormView コントロールでした。

これまでこのコントロールを使用したことはありませんでしたが、これはまさに私がやりたかったことのためのコントロールです。

領域をマークし、データソースを割り当て、必要に応じてアイテムをバインドすることができます。

   <asp:FormView ID="FormView1" runat="server" DataSourceID="ObjectDataSource2" Visible="false">
                    <ItemTemplate>
                        <table style="border-collapse: collapse;" class="tableEdit">
                            <tr>
                                <td>ClientId</td>
                                <td><asp:Label ID="ClientId" runat="server" Text='<%# Eval("ClientId") %>' /></td>
                            </tr>
                            <tr>
                                <td>ClientCode</td>
                                <td><asp:TextBox ID="TextBox1" runat="server" Text='<%# Eval("ClientCode") %>' /></td>
                            </tr>
                            <tr>
                                <td>Name</td>
                                <td><asp:TextBox ID="TextBox2" runat="server" Text='<%# Eval("Name") %>' /></td>
                            </tr>
                            <tr>
                                <td>BillingContactName</td>
                                <td><asp:TextBox ID="TextBox3" runat="server" Text='<%# Eval("BillingContactName") %>' /></td>
                            </tr>

AI W さん、ご意見ありがとうございます。Repeaterも適していますが、「a」レコードをバインドするには、FormViewが理想的だと思います。ありがとう。

于 2009-04-05T07:09:18.373 に答える
0

GridView コントロールを使用します。レイアウトを制御するために、デザイン モードで CSS クラスを多くのプロパティにアタッチできます。

于 2009-02-20T04:36:32.620 に答える
0

asp.net 2.0 の場合

<asp:Repeater runat="server" id="someid">
        <ItemTemplate>
    <table class="tableEdit">
        <tr>
            <th>Job ID</th><td><%# Eval("Id") %></td>
            <th>Client</th><td><%# Eval("Client.Name") %></td>
        </tr>
        <tr>
            <th>Comments</th><td><%# Eval("Comments") %></td>
        </tr>
    </table>
        </ItemTemplate>
</asp:Repeater>

コントロールは asp.net 3.5 で使用できますが、日常的に 3.5 を使用する機会がないため、すぐに構文を試すことはしません。

于 2009-02-20T06:38:24.480 に答える