动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP.NET技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ ASP.NET技巧 ]的信息

本月文章推荐
.File.Delete不能删除文件的问题.
.在Asp.net的HttpCookie中写入汉字.
.ASP.NET2.0自动搜索文件组成导航.
.简单的SQL Server数据库数据读取.
.ASP.NET2.0中themes、Skins轻松实.
.asp.net2.0如何加密数据库联接字.
.ASP.NET图象处理详解(2).
.数字的转换char to int(Convert..
.值类型和引用类型在hashtable里面.
.UpdatePanel与UrlRewrite.
.asp.net css注释的影响.
.编程使用资源文件实现多语言页面.
..net打包自动安装数据库.
.Asp.Net的控件如何与Server交互.
.在虚拟主机上用asp.net轻松实现u.
.Asp.net自动返回上次请求页面.
.常用的匹配正则表达式和实例 .
.TreeView使用笔记.
.ASP.NET弹出一个对话框.
.在ASP.NET中如何用C#.NET实现基于.

ASP.NET1.0/2.0里用DIV层元素弹出窗体

发表日期:2006-12-5 |


  本文 Bilal Haidar 将带领您如何使用DIV元素来创建弹出的窗体,这种弹出即可以包含简单的HTML元素也可以包含ASP.NET服务器控件,而且在实现过程中没有使用传统的window函数和showModalDialog / showModelessDialog函数(传统的我们使用 window.open,或者showModalDialog 这样的函数来制作弹出窗口--天天注释)

  最近我在用ASP.NET1.1技术来开发一个窗体,该窗体包含由三个控件组成的一个面板集合,这个面板用来显示系统信息.可以假想这些控件是一些简单的下拉框,当第一个下拉框选取后,第二个下拉框的值将显示被第一个过滤的结果,同样第三个下拉框将根据第二个下拉框的选择而进行改变显示。

  窗体的这个技术通常被用来让终端客户那些不知道ASP.NET技术的人员获取更好的用户体验。

  当决定使用这些控件的替代品使用时,您是否用过dropdownlist或者是具有弹出窗体功能的Textbox控件?

  好了,我们已经有了一个很好的解决方案:使用TextBox控件并挂钩OnClick事件来触发DIV弹出窗体,包括使用Listbox控件来选择数据的值
一个不使用任何常规popup窗体或者过时的Dropdownlist来完成这个功能

   THE HTML WebForm

  我们已经建立了一个简单的WebForm,他包含了一些TextBox,每一个TextBox已经附加了OnClick事件,用一段javascript代码来弹出窗体,代码如下:

<%@ Page language="c#"
Codebehind="ParentPage.aspx.cs" AutoEventWireup="false"
Inherits="PopupWithDiv.ParentPage" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
 <title>Parent Page</title>
 <LINK href="main.css" type="text/css" rel="stylesheet">
 <script src="jsPopup.js" type="text/javascript"></script>
 <script language="javascript">
  <!--
   // Prevent users from typing any text
   // into the Textbox
   function ProtectBox(e)
   {return false; }

  //-->
 </script>
</HEAD>
<body>
 <form id="Form1" method="post" runat="server">
 <!-- Header Section -->
 <div id="header">
  <p>Popup Window with DIV Layer</p>
 </div>
 <!-- Body Section -->
 <div id="content">
  <table border="0" cellpadding="0" cellspacing="0">
  <tr valign="top">
   <td><label for="txtCountry">Country :</label></td>
   <td><asp:TextBox
     id="txtCountry" runat="server" OnKeyDown="return
     ProtectBox(event);" OnClick="PopupArea(event, 'divCountry')"></asp:TextBox></td>
   <td width="50"></td>
   <td><label for="txtCity">City :</label></td>
   <td><asp:TextBox
      id="txtCity" runat="server" OnKeyDown="return
      ProtectBox(event);" OnClick="PopupArea(event, 'divCity')"></asp:TextBox></td>
  </tr>
  </table>
 </div>
 <%-- Country --%>
 <div class="popupWindow" id="divCountry">
  <table cellSpacing="0" cellPadding="0" width="100%" bgColor="#2557ad" border="0">
  <tr>
   <td align="right"><span style="CURSOR: hand"
    onclick="jsAreaClose('divCountry')"><img alt="Hide Popup" src="close.gif"
    border="0"></span></td>
  </tr>
  <tr>
   <td>
    <asp:ListBox id="lstCountry" runat="server" AutoPostBack="True" width="100%"
rows="10"></asp:ListBox></td>
  </tr>
 </table>
 </div>
 <%-- City --%>
  <div class="popupWindow" id="divCity">
  <table
    cellSpacing="0" cellPadding="0" width="100%"
    bgColor="#2557ad" border="0">
  <tr>
   <td align="right"><span style="CURSOR: hand" onclick="jsAreaClose('divCity')"><img alt="Hide Popup" src="close.gif" border="0"></span></td>
  </tr>
  <tr>
   <td>
    <asp:ListBox id="lsCity" runat="server" AutoPostBack="True" width="100%" rows="10"></asp:ListBox>   </td>
  </tr>
  </table>
 </div>
</form>
</body>
</HTML>

  代码中,用粗体标出的部分是Popup窗体的主要属性,在鼠标单击时,将调用一端JavaScript:PopupArea。

  正如您所看到的,我们在页面底部添加了两个DIV元素,一个用于国家,一个用于城市,每一个都包含ListBox控件,用户可以使用Listbox选择上面的内容。

  下图1现实了页面浏览的效果,他还演示了如何弹出DIV窗体


  当单击Textbox内部,windows将弹出窗体而不会引起页面数据回发现在该到填充其中数据的时候了

  Page COde-behind

  在页面后台,我们准备从一个XML文档加载list“国家”所需要的数据,同时显示国家的名称,下面列出了这个功能的代码:

  Listing 2: Populate Country ListBox

// Load data into Country List box
if (!Page.IsPostBack)
{
 // Load data from XML into a DataSet
 DataSet ds = new DataSet();
 ds.ReadXml(Server.MapPath("countries.xml"));

 this.lstCountry.DataSource = ds.Tables[0].DefaultView;
 this.lstCountry.DataTextField = "name";
 this.lstCountry.DataBind();
}

  在这一步骤中,当页面运行时,您可以选择国家,如下图


  现在,当用户选择国家时,将触发listbox的选择事件,并通过该事件加载“城市”数据,该数据同样从XML文档加载

  下面列出了事件代码

  Listing 3

private void lstCountry_SelectedIndexChanged(object sender, EventArgs e)
{
 // Set the value in the textbox
 this.txtCountry.Text = this.lstCountry.SelectedValue;

 // Load and Filter the lstCity
 DataSet ds = new DataSet();
 ds.ReadXml(Server.MapPath("cities.xml"));

 DataView dv = ds.Tables[0].DefaultView;
 dv.RowFilter = "country = '" + this.lstCountry.SelectedValue + "'";

 // Bind lstCity
 this.lstCity.DataSource = dv;
 this.lstCity.DataTextField = "name";
 this.lstCity.DataBind();
}

  用户现在可以选择与国家相匹配的城市,如下

上一篇:脚本获取选中文字及所在句子 人气:4159
下一篇:.NET框架2.0里的aspnet_compiler.exe 人气:4309
浏览全部ASP.NET的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-10-13 爬爬思特新闻管理系统 v2.0 Beta1
2008-10-13 Pligg v9.9.5 Beta
2008-10-13 广优邮件发送系统 v2.1
2008-10-13 缤纷互动视频交友 v3.1 RC
2008-10-13 MyShop网络商城 build 081005
2008-10-13 Chyrp 超轻量级开源博客引擎 v2.
2008-10-13 162100静态(论坛/文章)系统 v2.4
2008-10-13 金博人才招聘求职网黄金版 v4.2
2008-10-13 愚人笔记 v4.0
2008-10-11 联系人分组工具 v1.1 中文破解版
2008-10-11 FaceMelter变脸 v2.0 汉化破解版
2008-10-11 PathTracker道路跟踪仪 v1.2 破解
2008-10-11 Rooms手机聊天室 v0.6.7 破解版
2008-10-11 RemoteDesktop远程桌面 v1.0 破解
2008-10-11 ProRemote远程调音台 v1.0.1 破解
2008-10-11 PicShare照片共享 v1.0.0 破解版
2008-10-11 Photogene照片编辑器 v1.5 汉化破
2008-10-11 WriteRoom共享文档 v1.0 破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号