正 文

ASP.NET2.0中使用数据源控件之参数


www.7dspace.com  更新日期:2006-2-16 15:11:19  七度空间


  在此 DataSourceView 只需调用 GetSelectedZipCode,而不是直接使用 ZipCode 属性。此外,还更改了数据源视图代码,以便在未选中 ZipCode 的情况下返回 null(而不是抛出异常),这会导致数据绑定控件显示“空”视图。这在通常情况下是一个惯例,但是回顾来看,这应该成为数据源控件语义的一个不可获缺的方面。

private sealed class WeatherDataSourceView : DataSourceView {
 ...

 internal Weather GetWeather() {
  string zipCode = _owner.GetSelectedZipCode();
  if (zipCode.Length == 0) {
   return null;
  }

  WeatherService weatherService = new WeatherService(zipCode);
  return weatherService.GetWeather();
 }
}

  完整的代码就是这个样子。以下是经过更新的用法示例,该示例现在是声明性的。

Zip Code: <asp:TextBox runat="server" id="zipCodeTextBox" />
<asp:Button runat="server" Text="查找" />
<hr />

<asp:FormView runat="server" DataSourceID="weatherDS">
<ItemTemplate>
<asp:Label runat="server"
Text='<%# Eval("Temperature",
"当前温度是 {0}。") %>' />
</ItemTemplate>
</asp:FormView>
<nk:WeatherDataSource runat="server" id="weatherDS">
<Parameters>
<asp:ControlParameter Name="ZipCode" ControlID="zipCodeTextBox" />
</Parameters>
</nk:WeatherDataSource>

  请注意,在标记中并未指定 Text 作为在 ControlParameter 标记上查找的属性。ControlParameter 自动计算出了在未指定属性的情况下要使用的默认属性。它通过检查该类中的 ControlValueAttribute 来实现此目的。TextBox 将 Text 定义为包含其“控件值”的属性。除了传统输入控件之外,此概念还适用于多个控件。例如,GridView 将其 SelectedDataKey 揭示为“控件值”。这是一个新事物,控件开发人员从此以后应该予以考虑,以便与 ControlParameter 更好地进行集成。

2页,页码:[1] [2] 

上一篇:在Java SE中使用Hibernate处理数据
下一篇:64位开发中去除64位平台的内存错误
标题:ASP.NET2.0中使用数据源控件之参数 作者:Nihkil 来源:MSDN
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐