快速业务通道

ASP.NET 2.0数据教程之五十七:编辑和删除现有的二进制数据

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21
ID为BrochureUpload,设 其Visible属性为false。

ASP.NET 2.0数据教程之五十七:编辑和删除现有的二进制数据

图13:在EditItemTemplate模板里添加RadioButtonList和FileUpload 控件

RadioButtonList控件为用户提供了3个选择,只有当选择 “Upload new brochure”时, FileUpload控件才会展现出来。为此 ,我们为RadioButtonList控件的SelectedIndexChanged事件创建事件处理器,如 下:

protected void BrochureOptions_SelectedIndexChanged (object sender, EventArgs e)
{
  // Get a reference to the RadioButtonList and its Parent
  RadioButtonList BrochureOptions = (RadioButtonList)sender;
  Control parent = BrochureOptions.Parent;

  // Now use FindControl ("controlID") to get a reference of the
  // FileUpload control
  FileUpload BrochureUpload =
     (FileUpload)parent.FindControl("BrochureUpload");

  // Only show BrochureUpload if SelectedValue = "3"
  BrochureUpload.Visible = (BrochureOptions.SelectedValue == "3");
}

由于RadioButtonList控件和FileUpload 控件同时出现在一个模板里,我们需要通过编程来访问这2个控件。在 SelectedIndexChanged事件处理器里,我们通过输入参数sender来引用 RadioButtonList控件。为了获取FileUpload控件,我们需要使用 RadioButtonList的父控件(parent control),并使用FindControl ("controlID")方法。一旦我们同时获取了RadioButtonList和 FileUpload控件时,只要RadioButtonList控件的SelectedValue值等于3,即 “Upload new brochure” ListItem的值时,将FileUpload控件的 Visible属性设置为true 。

添加完上述代码后,花几分钟时间来测试编辑 页面。点击某行的Edit按钮,默认是选中“Use current brochure” 项,改选另一项,页面产生回传,如果是选择第3项,则FileUpload控件将会显示 出来,否则处于隐身状态。图14显示点击Edit按钮的情形,而图15则是选择 “Upload new brochure”时的情形。

ASP.NET 2.0数据教程之五十七:编辑和删除现有的二进制数据

图14:默认选择“Use current brochure”项

ASP.NET 2.0数据教程之五十七:编辑和删除现有的二进制数据

图15:选择“Upload new brochure”时FileUpload控件显 示出来

保存Brochure文件并更新BrochurePath列

当点击GridView 控件的Update按钮时,触发RowUpdating事件,调用ObjectDataSource控件的 update命令,然后触发GridView控件的RowUpdated事件。跟deleting流程类似, 我们需要创建这些事件的处理器。在RowUpdating事件处理器里,我们需要根据 RadioButtonList的SelectedValue值来判断下一步怎么做。

.如果 SelectedValue值为1,我们将保持rochurePath不变。所以我们将 ObjectDataSource控件的brochurePath参数设置为当前处于编辑状态记录的 BrochurePath值,方法为e.NewValues["brochurePath"] = value.

.如果SelectedValue值为2,意味着将BrochurePath设为NULL。为 此,我们需要将ObjectDataSource控件的brochurePath参数设为Nothing,结果就 是在UPDATE命令里使用NULL。如果存在对应的brochure文件,我们必须将其删除 ,前提是没有抛出任何的异常。

.如果SelectedValue值为3,我们必须确 保用户已经上传了一个PDF文件并将其保存在文件系统,然后更新记录的 BrochurePath值。我们要先将被替换的前一个文件删除掉,当然前提是没有引发 异常。

在56章里,当在DetailsView控件里添加新记录时,触发 DetailsView控件的ItemInserting事件。在本章,当RadioButtonList控件的 SelectedValue为3时(即我们选择Upload new brochure时),接下来要采取的步 骤实际上与DetailsView控件的

ItemInserting事件处

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号