网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
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超时设置.
.asp.net如何生成图片验证码(简单) .
.ASP.NET提供文件下载函数.
.ASP.NET2.0下含有DropDownList的.
.安装Asp.net 2.0服务器出现Serve.
.用gridview显示来自excel表格里的.
.在MasterPage中檢驗User是否登入.
.随机得到Access数据库记录.
.Asp.Net2.0中实现多任务异步页的.
.lucene并行建索引解决方案.
.认识asp.net会话状态.
.用ASP/ASP.NET实现网络空间管理.
.一个高效判断字符串是否全数字的.
.ASP.NET 2.0 Club Web Site Star.
.ASP.NET 2.0防止同一用户同时登陆.
.由于未处理服务器端代码而导致 A.
.asp.net错误处理封装.
.在asp.net 2.0中的web.config文件.
.ASP.NET RSS Toolkit(RSS工具) .
.P/Invoke能够在asp.net中使用.

asp.net2.0实现主从数据表的简单方法

发表日期:2006-4-12


实现效果:在主表里选中某行,从表里得出该行的详情。

方法1:代码实现。
在页面上放一个GridView,一个DetailView。数据绑定GridView并且要设置主键,然后在SelectedIndexChanged事件写代码:选择发生变化时,DetailView也改变为相应的Detail。
具体代码:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;


public partial class MasterDetail2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            string SQL = "SELECT * FROM [Orders]";
            GridView1.DataSource = Binding(SQL);
            GridView1.DataKeyNames = new string[] { "OrderID" };
            GridView1.DataBind();
        }
     }

    protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {
        string OrderID = Convert.ToString(GridView1.SelectedValue);
        string SQL =  "SELECT * FROM [OrderDetails] WHERE [OrderID]='" + OrderID + "'";
        DetailsView1.DataSource = Binding(SQL);
        DetailsView1.DataBind();
    }


    /**//// <summary>
    /// 执行SQL语句返回一个数据表
    /// </summary>
    /// <param name="SQL">所要执行的SQL语句</param>
    /// <returns>DataTable</returns>
    protected DataTable Binding(string SQL)
    {
        SqlConnection myConn = new SqlConnection(ConfigurationManager.ConnectionStrings["AppConnectionString1"].ConnectionString);
        DataTable dt=new DataTable();
        SqlDataAdapter myAdapter = new SqlDataAdapter(SQL, myConn);
        myAdapter.Fill(dt);
        return dt;

    }
}
方法2:设置控件属性实现
在页面上放一个GridView,一个DetailView,然后每个对应一个数据源。只要在DetailView的数据源的SelectCommand里使用GridView的SelectedValue作为参数,即可实现。
            <SelectParameters>
                <asp:ControlParameter ControlID="EmployeesGridView" Name="AddressID" PropertyName="SelectedValue"
                    Type="Int32" />
            </SelectParameters>
两种方法都很简单,方法2基本无代码实现,方法1控制更灵活。

 

上一篇:ASP.NET Atlas April CTP发布 人气:6848
下一篇:在ASP.NET Atlas中创建自定义的Behavior 人气:6264
浏览全部asp.net的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐