2009-02-20 59 views
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(); 
} 

有没有什么可以做到这一点?我希望能够控制容器内的字段布局。

谢谢。

回答

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是理想的我想。谢谢。

0

使用GridView控件。您可以在设计模式下将CSS类附加到多个属性,以控制布局。

+0

对不起,我可能不应该使用表格作为例子。清除布局可能非常适合流布局,随意,任何事情。 我只想要一个区域被一个数据源包含,我可以使用evals来绑定我认为合适的字段。希望我的问题越来越清晰。谢谢。 – minalg 2009-02-20 05:27:35

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基础。

+0

这不完全是我以后的事情,但它确实是我需要的大部分。谢谢。 – minalg 2009-02-27 22:08:07

相关问题