共648篇 首页 上一页 下一页 尾页 页次:11/65页  10篇/页 转到:
未知 信息技术三层结构体系显示层/逻辑层/数据层   [ 2006-11-16 00:00:00  Thursday ]

显示层通常由.aspx/.aspx.cs文件构成,用来显示数据页面,按三层体系的分的话,页面层应该是直接调用逻辑层中的方法
逻辑层是一个中间层,用来连接页面层和数据层,它要给页面层提供接口同时也要从数据层中调用方法供页面层使用
数据层是最底层了,一般作数据方面的操作
呵,暂时这样解释这三层体系吧,小试了一吧.
页面层[default.aspx]:只有一个DataGrid控件和一个Label控件
页面的最终执行结果

default.aspx.cs文件


using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using LemongTree.BL;
namespace services
{
        /// <summary>
        /// _default 的摘要说明。
        /// </summary>
        public class _default : System.Web.UI.Page
        {
  ……



  阅读全文>>
阅读全文 | 编者:  | 评论:0 | 查看:6825  
未知 信息技术提倡使用foreach语句来进行循环操作   [ 2006-11-16 00:00:00  Thursday ]
循环语句是编程的基本语句,在C#中除了沿用C语言的循环语句外,还提供了foreach语句来实现循环。那么我要说的就是,在循环操作中尽量使用foreach语句来实现。
为了来更好地说明为什么要提倡使用foreach,用如下三种不同方式来编写循环语句。
        int[] nArray = new int[100];
 
        // Use "foreach" to loop array
        foreach( int i in nArray )
            Debug.WriteLine( i.ToString() );
 
        // Use "for" to loop array
        for( int i = 0; i < nArray.Length; i++ )
            Debug.WriteLine( nArray[i].ToString() );
 
        // Another way using "for" to loop array
        int nLength = nArray.Length;
        for( int i = 0; i < nLength; i++ )
            Debug.WriteLine( nArray[i].ToString() );
 
很明显,foreach语句很简洁,但是它的优点不仅仅在于此,它的效率也是最高的。可……
阅读全文 | 编者:  | 评论:0 | 查看:6803  
未知 信息技术使用Conditional属性来代替IF/ENDIF程序块   [ 2006-11-16 00:00:00  Thursday ]
在编码的时候,有时候需要添加一些DEBUG信息,来为了方便调试程序,但是到了真正发布的时候,又不希望把这些信息进行编译发布。那么在以前C或者C++编码的时候,用IF/ENDIF来定义程序块实现这个功能,而此方法在C#中可以继续沿用。
这种用IF/ENDIF来增加DEBUG信息块有两种方式,如下:
方式一,在一个函数中进行嵌入,例如:
#if DEBUG
            Trace.WriteLine( "ErrorMessage!" );
#endif
 
方式二,用IF/ENDIF填充整个函数,然后在需要加载的地方调用此函数即可,例如:
        private void DEBUG_TRACE( string strMsg )
        {
#if DEBUG
            Trace.WriteLine( strMsg );
#endif
        }
 
就这两种方式而言,都分别有些不足的地方。
对于方式一来说,首先增加过多的IF/ENDIF程序块,会使程序变得晦涩,而且代码太混乱。除此外,程序有可能出现潜在的BUG,考虑如下代码。
            string strMsg = null;
#if ……


  阅读全文>>
阅读全文 | 编者:  | 评论:0 | 查看:6067  
未知 信息技术提供一个有意义的ToString函数   [ 2006-11-16 00:00:00  Thursday ]
在编写自定义类型的时候,即使我们不写ToString函数,系统也会自动提供ToString函数,例如:
   public class clsUserInfo
    {
        private string strUserName;
        ……
    }
 
不过系统所提供ToString函数,并不做太多的事情,无法真实的反映当前对象的一些属性,就如上这段代码,调用ToString返回的结果和GetType后转换成String是一样的。那么这样的返回值对于调用者来说没有太多的意义。
 
为了能提供一个有意义的ToString函数,则需要重载ToString函数来实现一个面向此对象的ToString函数。举例说明,对于上面clsUserInfo这个类型,如下这种写法会使ToString函数更有意义。
    public class clsUserInfo
    {
        private string strUserName;
        ……
        public override string ToString()
        {
            return string.Format( "User name:{0}", strUserName );
        }
    }
 
提供一个……


  阅读全文>>
阅读全文 | 编者:  | 评论:0 | 查看:6192  
未知 信息技术星座类(UserLib.World.Time.Constellation)   [ 2006-11-16 00:00:00  Thursday ]
以下是星座类,用于判断你属于哪个星座,也可以获取星座对应当日期范围
其中涉及到的类Segment将会在文章末尾解释
 
using System;
using System.Collections.Generic;
using System.Text;
 
namespace UserLib.World.Time
{
    /// <summary>
    /// 星座
    /// </summary>
    public class Constellation
     {
        private static Segment[] data=new Segment[12];         //保存星座数据
 
        /// <summary>
        /// 日期索引函数
        /// </summary>
        /// <param name="dt">日期</param>
        /// <returns>对应的索引</returns>
        private static int Index(DateTime dt)
        {
            //将年份统一为
            //因为年是闰年,当输入的日期为月日时,程序不会出错
            DateTime rdt = new DateTime(2000, dt.Month, dt.Day);
      &n
阅读全文 | 编者:  | 评论:0 | 查看:6557  
未知 信息技术DotNet2005中的App_Code文件夹的作用   [ 2006-11-16 00:00:00  Thursday ]

如果您的 Web 应用程序包括要在多个页之间共享的代码,您可以将代码保存在 Web 应用程序根目录下的两个特殊文件夹(Bin 文件夹和 App_Code 文件夹)中的某个文件夹中。

Bin 文件夹
可以在 Bin 文件夹中存储编译的程序集,并且 Web 应用程序任意处的其他代码(如页代码)会自动引用该文件夹。典型的示例是您为自定义类编译好的代码。您可以将编译后的程序集复制到 Web 应用程序的 Bin 文件夹中,这样所有页都可以使用这个类。

Bin 文件夹中的程序集无需注册。只要 .dll 文件存在于 Bin 文件夹中,ASP.NET 就可以识别它。如果您更改了 .dll 文件,并将它的新版本写入到了 Bin 文件夹中,则 ASP.NET 会检测到更新,并对随后的新页请求使用新版本的 .dll 文件。

Bin 文件夹的安全性
将编译后的程序集放入 Bin 文件夹中会带来安全风险。如果是您自己编写和编译的代码,那么您了解代码的功能。但是,您必须像对待任何可执行代码一样来对待 Bin 文件夹中已编译的代码。……


  阅读全文>>

阅读全文 | 编者:  | 评论:0 | 查看:5941  
未知 信息技术页面转向的小处见大问题   [ 2006-11-16 00:00:00  Thursday ]

如果有以下几种很简单的需求,可是小需要中隐藏着大问题。
给页面添加4个web按钮,点击4个按钮分别实现
(1)打开一个摸态对话框
(2)页面在客户端转向
(3)页面转向并且进行一个服务器端操作比如Session["test"]=1;
(4)页面转向并且输出一个客户端提示

(1)return false的问题
在PageLoad里面这么写
Button1.Attributes.Add("onclick","window.showModalDialog('a.aspx');");
如果这样的话关闭摸态对话框页面还是会Postback,如果在Button1的服务器端事件中写了
Response.Write("aa");可以看到确实输出内容了
为什么return false就可以了呢?在以前的asp中我们一般不会用一个type=submit的按钮来执行一个单纯的js操作
一般我们这么写:<input type="button" onclick="">而asp.net的web按钮都是type=submit的

(2)
同样的,在PageLoad里面这么写
Button2.Attributes.Add("onclick","location.href='a.aspx'");
这样是不能转向的,一定要
Button2.Attribute……

  阅读全文>>

阅读全文 | 编者:  | 评论:0 | 查看:5892  
未知 休闲娱乐文字的艺术贴图   [ 2006-11-16 00:00:00  Thursday ]


      你知道吗?告诉你个秘密: 
        →→    ←← 
     →→   ● ○   ←← 
    →→    ■〓□     ←← 
   →→     ∏ ∧      ←← 
    →→             ←← 
    →→  我  ★★★  你  ←← 
     →→          ←← 
      →→        ←← 
       →→   爱   ←← 
        →→    ←← 
         →→  ←← 
          →→←← 
           →← 

……………………………………………………………………………………

███ ███ ◢█◣ █ ★  
█▅▅ ▅▅█ █ █ █  ●╭○╮ 
▃ █ █ ▃ █ █ █ /〓∨◆\ 
◥█◤ ███ ◥█◤ ▅  ∏ ▲! 


 


------------------------------------------------------------------……


  阅读全文>>

阅读全文 | 编者:  | 评论:1 | 查看:10010  
未知 信息技术ASP.NET Tips: 获取插入记录的ID   [ 2006-11-16 00:00:00  Thursday ]
你的sql语句
string  SqlStr=@"insert  into    table(……)values(……)      select  SCOPE_IDENTITY()    as  'myNewId'";
执行sql
SqlDataReader  myDr=用ExecuteReader方法执行你的SQL语句
获得ID
myDr.GetValue(0).ToString()

注:
/*  对于想要得到一个表中的最后一个插入操作所产生的ID的最好用IDENT_CURRENT('TBName')*/
INSERT  INTO  table(field1,field2,...)  VALUES("field1Value","field2Value",...)  SELECT  IDENT_CURRENT('recordID')  as  newIDValue

/*对于马上使用的刚才插入的新记录ID用SCOPE_IDENTITY()是最合适的*/
INSERT  INTO  table(field1,field2,...)  VALUES("field1Value","field2Value",...)  SELECT  SCOPE_IDENTITY()  as  newIDValue

/*对于想要得到一系列的操作中最后得到的那个自增的ID最好用@@IDENTITY*/
INSERT  INTO  table(field1,field2,...)  VALUES("field1Value","field2Value",...)  SELECT  @@IDENTITY  as  newIDVa……


  阅读全文>>
阅读全文 | 编者:  | 评论:0 | 查看:6052  
未知 信息技术Asp.net之数组应用   [ 2006-11-16 00:00:00  Thursday ]
string[] abc=new string[8]{"1","2","3","4","1","2","3","4"};
Response.Write(Array.IndexOf(abc,"3",1));//在abc数组中查找"3",从abc[1]开始找
Response.Write(Array.LastIndexOf(abc,"3"));//在abc数组中查找"3",从最后开始找
------------------------------------------------------------------------------
string[] arrStr=new string[8]{"1","4","3","2","16","14","12","14"};//arrStr[0]="1"...arrStr[7]="14"
Array.Reverse(arrStr); //颠倒arrStr数组,此时arrStr[0]="14"...arrStr[7]="1"
Array.Sort(arrStr); //给数组排序,此时顺序为1,12,14,14,16,2,3,4(因为是按字符串排序)
------------------------------------------------------------------------------
Array型数组要重定义大小,必须用ReDim(VB),对于大数组会特别慢;且无法在中间插入元素;不能清除它们(只能设置为空或0)
ArrayList在使用上比Array慢,但是不用重定义大小,使用myArrList.Add(……

  阅读全文>>
阅读全文 | 编者:  | 评论:0 | 查看:5561  
共648篇 首页 上一页 下一页 尾页 页次:11/65页  10篇/页 转到:

免责申明 | 版权申明 | 联系我们 | 关于
Copyright © 2001-2024 Haiyun.Net All Rights Reserved
地址:深圳市南山区南油天安工业区1栋3楼 邮编:518000
有我可以帮您的吗?QQ:12457275  
粤ICP备05017321号-1