当前位置: 移动技术网 > IT编程>开发语言>.net > 总结Visual Studio下ASP.NET模板化控件中的数据绑定

总结Visual Studio下ASP.NET模板化控件中的数据绑定

2017年12月12日  | 移动技术网IT编程  | 我要评论

符箓惊神,马丽小品,邝健廉

在模板化控件中绑定到数据
formview、datalist、repeater 和 listview web 服务器控件使用模板显示数据和检索用户输入,以插入、更新或删除数据。此外,您还可以将模板与 gridview 和 detailsview 控件一同使用,以自定义数据布局。
通过将模板化控件的 datasourceid 属性设置为数据源控件的 id,可以将模板化控件绑定到数据源控件(例如 linqdatasource、objectdatasource 或 sqldatasource 控件)。然后可以在模板中使用 eval 和 bind 函数绑定到数据源中的数据。有关更多信息,请参见 数据绑定表达式语法。
使用模板将控件绑定到数据
1.向页添加数据源控件(如 sqldatasource 控件),如下面的示例所示:

<asp:sqldatasource id="sqldatasource1" 
 selectcommand="select * from [products]"
 connectionstring="<%$ connectionstrings:northwindconnection %>"
 runat="server">
</asp:sqldatasource>

2.添加一个支持模板的控件,如 asp.net formview 控件。
3.将模板化控件的 datasourceid 属性设置为步骤 1 中数据源控件的 id,如此示例中所示:

<asp:formview id="formview1"
 datasourceid="sqldatasource1"
 datakeynames="productid"   
 runat="server">
</asp:formview>

4.向模板化控件添加模板并使用控件和标记填充这些模板。
5.若要显示数据,请将 eval 函数作为属性设置使用,并引用绑定数据字段。在用于插入或编辑数据的模板中,使用 bind 函数引用数据绑定字段,如以下示例所示:

<asp:formview id="formview1"
 datasourceid="sqldatasource1"
 datakeynames="productid"   
 runat="server">

 <itemtemplate>
  <table>
   <tr><td align="right"><b>product id:</b></td>    <td><%# eval("productid") %></td></tr>
   <tr><td align="right"><b>product name:</b></td>   <td><%# eval("productname") %></td></tr>
   <tr><td align="right"><b>category id:</b></td>   <td><%# eval("categoryid") %></td></tr>
   <tr><td align="right"><b>quantity per unit:</b></td><td><%# eval("quantityperunit") %></td></tr>
   <tr><td align="right"><b>unit price:</b></td>    <td><%# eval("unitprice") %></td></tr>
  </table>         
 </itemtemplate>         
</asp:formview>

每个 web 服务器控件支持不同的模板。例如,repeater 控件支持一个 itemtemplate 和一个 alternatingitemtemplate,以使用交替控件、样式和标记来显示数据。

绑定到visual studio的模板化控件中的数据
可以将一个控件(例如 gridview、detailsview、formview、listview、datalist 或 repeater 控件)与一个数据源控件(例如 linqdatasource、objectdatasource 或 sqldatasource 控件)关联起来。此外还可以使用控件的模板(listview、datalist、repeater 和 formview 控件需要模板)在设计器中通过自定义用户界面 (ui) 来自定义数据表示形式。
此主题演示如何将用户界面控件(如 textbox 控件)添加到模板中并将该控件绑定到特定数据。
将模板控件绑定到数据源
1.在页上建立有效的数据源(如 sqldatasource 控件),并注意 id 属性值。
例如:

<asp:sqldatasource id="sqldatasource1" runat="server" 
 selectcommand="select customerid, companyname from customers"
 connectionstring="<%$ 
  connectionstrings:northwindconnectionstring %>">
</asp:sqldatasource>

有关如何将 sqldatasource 控件用于数据库的更多信息,请参见 sqldatasource web 服务器控件概述。
2.从工具箱的“数据”组中,将 datalist 控件拖动到页面上。
出现“datalist 任务”快捷菜单。
如果“datalist 任务”快捷菜单没有出现,右击 datalist 控件,再单击“显示智能标记”。
3.在“选择数据源”列表中,单击在步骤 1 中创建的 sqldatasource 控件。
当呈现该页时,该控件会显示来自未自定义的查询的所有列和数据。根据数据的不同,显示的 datalist 控件将带有默认绑定字段,如下面的代码示例所示:
<asp:datalist id="datalist1" runat="server" 
  datakeyfield="customerid" 
  datasourceid="sqldatasource1">
 <itemtemplate>
  customerid:
  <asp:label id="customeridlabel" runat="server" 
    text='<%# eval("customerid") %>'>
  </asp:label><br />
  companyname:
  <asp:label id="companynamelabel" runat="server" 
    text='<%# eval("companyname") %>'>
  </asp:label><br />
  <br />
 </itemtemplate>
</asp:datalist>
编辑控件的模板
1.在“设计”视图中右击 datalist 控件,再单击“显示智能标记”。
2.在“datalist 任务”菜单上单击“编辑模板”。
现在可以在设计器中编辑模板。可以将其他控件拖动到模板上以便以后进行绑定。
3.在“显示”列表中单击“alternatingitemtemplate”(不同的控件支持不同的模板)。
4.在 alternatingitemtemplate 设计空间中键入 customerid:,然后从“工具箱”的“标准”组中将一个 t:system.web.ui.webcontrols.label 控件拖动到 datalist 控件上。
5.在“label 任务”菜单上单击“编辑数据绑定”。
6.在“标签名 数据绑定”对话框中的“可绑定属性”下,单击“text”。
7.在“绑定到”列表中的“文本的绑定”下单击“customerid”。
8.为 companyname 重复第 4 步到第 7 步。
9.在“alternatingitemtemplate”设计空间中,选择所有内容,然后按 ctrl+b 将文本更改为粗体。
10.右击 datalist 控件,然后单击“显示智能标记”。
11.单击“结束模板编辑”退出模板编辑模式。
当该页在浏览器中显示时,公司列表会交替显示为纯文本和粗体文本。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网