扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:Nikhil Kothari 来源:MSDN 2007年9月2日
关键字:
private sealed class WeatherDataSourceView : DataSourceView { private WeatherDataSource _owner; public WeatherDataSourceView(WeatherDataSource owner, string viewName) : base(owner, viewName) { _owner = owner; } protected override IEnumerable ExecuteSelect( DataSourceSelectArguments arguments) { arguments.RaiseUnsupportedCapabilitiesError(this); Weather weatherObject = GetWeather(); return new Weather[] { weatherObject }; } internal Weather GetWeather() { string zipCode = _owner.ZipCode; if (zipCode.Length == 0) { throw new InvalidOperationException(); } WeatherService weatherService = new WeatherService(zipCode); return weatherService.GetWeather(); } internal void RaiseChangedEvent() { OnDataSourceViewChanged(EventArgs.Empty); } } |
Zip Code: <asp:TextBox runat="server" id="zipCodeTextBox" /> <asp:Button runat="server" onclick="OnLookupButtonClick" 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" ZipCode="98052" /> <script runat="server"> private void OnLookupButtonClick(object sender, EventArgs e) { weatherDS.ZipCode = zipCodeTextBox.Text.Trim(); } </script> |
此代码设置了邮政编码来响应用户输入,这会使数据源发出更改通知,从而使绑定的 FormView 控件执行数据绑定并更改显示。
现在,数据访问代码就被封装在数据源控件中。此外,通过此模型,weather.com(英文)能够发布一个组件,该组件还可以封装特定于其服务的详细信息。但愿它会好用。此外,抽象的数据源界面允许 FormView 仅针对天气数据进行工作。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者