??xml version="1.0" encoding="utf-8" standalone="yes"?>在线天堂新版最新版在线8,av网站无病毒在线,成年人在线观看http://www.aygfsteel.com/yeiwei/ <span class="style14"><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;----<b><a ><font color=red >★七彩服?lt;/font>&nbsp;&nbsp;【最潮拜☆日单精品】【Esprit】【Hotwind】满150包邮-奌-行奌</a></b> &nbsp;&nbsp; www.7color.hb.cn<br> <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;----智力比知识重要,素质比智力重要,觉?zhn)比素质更重?</span>zh-cnSat, 17 May 2025 07:07:00 GMTSat, 17 May 2025 07:07:00 GMT60我家奛_5月食品表http://www.aygfsteel.com/yeiwei/archive/2010/01/15/309656.html圣域飞侠圣域飞侠Fri, 15 Jan 2010 03:21:00 GMThttp://www.aygfsteel.com/yeiwei/archive/2010/01/15/309656.htmlhttp://www.aygfsteel.com/yeiwei/comments/309656.htmlhttp://www.aygfsteel.com/yeiwei/archive/2010/01/15/309656.html#Feedback0http://www.aygfsteel.com/yeiwei/comments/commentRss/309656.htmlhttp://www.aygfsteel.com/yeiwei/services/trackbacks/309656.htmlhttp://yexinchen2009.blog.sohu.com/
必吃Q??牛奶 蛋黄 c糊 胡萝?黄瓜?br />  选吃Q?鱼汤 l豆?nbsp; 子?Ҏ(gu)?香梨+猕猴桃水  E?nbsp;尬 

圣域飞侠 2010-01-15 11:21 发表评论
]]>
Asp.net 2.0 中将|站首页生成静态页的一个比较好的方?http://www.aygfsteel.com/yeiwei/archive/2007/04/11/109966.html圣域飞侠圣域飞侠Wed, 11 Apr 2007 09:51:00 GMThttp://www.aygfsteel.com/yeiwei/archive/2007/04/11/109966.htmlhttp://www.aygfsteel.com/yeiwei/comments/109966.htmlhttp://www.aygfsteel.com/yeiwei/archive/2007/04/11/109966.html#Feedback0http://www.aygfsteel.com/yeiwei/comments/commentRss/109966.htmlhttp://www.aygfsteel.com/yeiwei/services/trackbacks/109966.html页面生成静态的Ҏ(gu)有多?据不完全l计有NU?N>1)
呵呵
以下的方法来?nbsp;"孟子E " 解释的方?

代码如下

    protected override void Render(HtmlTextWriter writer)
    ...{
        System.IO.StringWriter html = new System.IO.StringWriter();
        System.Web.UI.HtmlTextWriter tw = new HtmlTextWriter(html);
        base.Render(tw);
        System.IO.StreamWriter sw = new System.IO.StreamWriter(Server.MapPath("index.html"), false, System.Text.Encoding.Default);
        sw.Write(html.ToString());
        sw.Close();
        tw.Close();
        Response.Write("面生成成功!");
    }
以上上函数数加如到你要生成静太文g的页面里,
函数从蝲?Render函数 作用是把面?nbsp;html文本截下?保存到文仉,
q一步的可以ȝ一下asp.net面生命q程.

 
静态页面的生成 

protected override void Render(HtmlTextWriter writer) {
     StreamWriter r=new StreamWriter(Server.MapPath(StaticFileName),
           false,System.Text.Encoding.UTF8);  //StaticFileName是html文g?
     HtmlTextWriter h=new HtmlTextWriter(r);
     base.Render(h); 
     r.Close();
     h.Close();
     Response.Redirect(StaticFileName);
}

然后在同一aspx的pageLoad事g中判断StaticFileName是否已经存在Q如果存在,应该直接{向,不应该l生成页面了?img src ="http://www.aygfsteel.com/yeiwei/aggbug/109966.html" width = "1" height = "1" />

圣域飞侠 2007-04-11 17:51 发表评论
]]>
生成静态文件的新闻pȝ核心代码 http://www.aygfsteel.com/yeiwei/archive/2007/04/11/109965.html圣域飞侠圣域飞侠Wed, 11 Apr 2007 09:51:00 GMThttp://www.aygfsteel.com/yeiwei/archive/2007/04/11/109965.htmlhttp://www.aygfsteel.com/yeiwei/comments/109965.htmlhttp://www.aygfsteel.com/yeiwei/archive/2007/04/11/109965.html#Feedback0http://www.aygfsteel.com/yeiwei/comments/commentRss/109965.htmlhttp://www.aygfsteel.com/yeiwei/services/trackbacks/109965.html在网上看了许多能生成静态页的新ȝl,但基于asp.net的系l极,闲下旉来自己写了一个,发出来,大家一L(fng)IӞ代码没做什么优化,只是实现了功?/p>

 

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
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 System.Configuration;

namespace makehtmlfile
{
 /// <summary>
 /// makeallfiles 的摘要说明?br> /// </summary>
 public class makeallfiles : System.Web.UI.Page
 {
  public string strcon;
  public OleDbConnection conn;
  public string strSQL;

  private void Page_Load(object sender, System.EventArgs e)
  {
   
   InitialPages();// 在此处放|用户代码以初始化页?br>  }

  public void InitialPages()
  {
   strcon    = "provider=Microsoft.jet.OLEDB.4.0;data Source="+Server.MapPath(ConfigurationSettings.AppSettings["MDBpath2"])+";";//q接字符H?/ 在此处放|用户代码以初始化页?br>            strSQL = "select id,class1id,class2id from news order by id desc";
   MakeAreaForShow();
   ReadNewsForWriteFileUserDataReader();      //同过DataReader来读取数据,
   //ReadNewsForWriteFileUserDataSet();      //数据直接挂入DataSet中来dQ?br>  }
  /// <summary>
  /// 用来产生循环昄面的区域,装蝲生成HTML늚ASPX面的区?br>  /// </summary>
  public void MakeAreaForShow()
  {
   Response.Write("<span id=showImport></span>");
   Response.Write("<IE:Download ID='oDownload' STYLE='behavior:url(#default#download)'/>");
  }

  /// <summary>
  /// 通过DATAREADER来读取数?br>  /// </summary>
  public void ReadNewsForWriteFileUserDataReader()
  {
   int              num        =   0   ;
   string           newsid     =   null;
   string           class1id   =   null;
   string           class2id   =   null;
   OleDbDataReader  dr         =   null;
   OleDbConnection  conn       =   new OleDbConnection(strcon);
   conn.Open();
   OleDbCommand     mycommand  =   new OleDbCommand(strSQL,conn);
   dr                          =   mycommand.ExecuteReader();
   while(dr.Read())
   {
    newsid                  =   dr["id"].ToString();
    class1id                =   dr["class1id"].ToString();
    class2id                =   dr["class2id"].ToString();
                WriteJScript(newsid,class1id,class2id);
    num++;
   }
   dr.Close();
   conn.Close();
   Response.Write(num.ToString());

  }

  /// <summary>
  /// 通过DATASET来读取数?br>  /// </summary>
  public void ReadNewsForWriteFileUserDataSet()
  {
   DataSet          ds         =   new DataSet();
   int              num        =   0   ;
   string           newsid     =   null;
   string           class1id   =   null;
   string           class2id   =   null;

   OleDbConnection  conn       =   new OleDbConnection(strcon);
   conn.Open();
   OleDbDataAdapter da         =   new OleDbDataAdapter(strSQL,conn);
   da.Fill(ds,"news");
   conn.Close();
   num                         =   ds.Tables["news"].Rows.Count;
   foreach(DataRow dr in ds.Tables["news"].Rows)
   {
    newsid     =    dr["id"].ToString();
    class1id   =    dr["class1id"].ToString();
    class2id   =    dr["class2id"].ToString();
    WriteJScript(newsid,class1id,class2id);
   }
   ds = null;
   Response.Write(num.ToString());
   
  }

  public void WriteJScript(string newsid,string class1id,string class2id)
  {
   Response.Write("<script>");
   Response.Write("function onDownloadDone(downDate)");
   Response.Write("{");
   Response.Write("showImport.innerHTML=downDate");
   Response.Write("}");
   Response.Write("oDownload.startDownload('makefile2.aspx?id=");
   Response.Write(newsid);
   Response.Write("&class1id=");
   Response.Write(class1id);
   Response.Write("&class2id=");
   Response.Write(class2id);
   Response.Write("',onDownloadDone)");
   Response.Write("</script>");
  }

  

  #region Web H体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web H体设计器所必需的?br>   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  /// 设计器支持所需的方?- 不要使用代码~辑器修?br>  /// 此方法的内容?br>  /// </summary>
  private void InitializeComponent()
  {   
   this.Load += new System.EventHandler(this.Page_Load);

  }
  #endregion
 }
}

 

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Configuration;
using System.Data.OleDb;
using System.Drawing;
using System.Web;
using System.IO;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace makehtmlfile
{
 /// <summary>
 /// makefile2 的摘要说明?br> /// </summary>
 public class makefile2 : System.Web.UI.Page
 {
  public string strcon;
  public OleDbConnection conn;
  
  public string class1id;
  public string class2id;
  //***********************************
  public string previd;
  public string prevtitle;
  public string nextid;
  public string nexttitle;
  //***********************************
  public string newstitle;
  public string newscontent;
  public string newsdate;
  public string newsip;
  public string newsid;
  //************************************

 

  private void Page_Load(object sender, System.EventArgs e)
  {
   strcon    = "provider=Microsoft.jet.OLEDB.4.0;data Source="+Server.MapPath(ConfigurationSettings.AppSettings["MDBpath2"])+";";//q接字符H?/ 在此处放|用户代码以初始化页?br>   if(Request.Params["id"]!=null&&Request.Params["class1id"]!=null&&Request.Params["class2id"]!=null)
   {
    InitialPages();

   }// 在此处放|用户代码以初始化页?br>  }

  public void InitialPages()
  {
   strcon    = "provider=Microsoft.jet.OLEDB.4.0;data Source="+Server.MapPath(ConfigurationSettings.AppSettings["MDBpath2"])+";";
   
   if(Request.Params["id"]!=null)
   {
    newsid  = Request.Params["id"].ToString();
   }
   if(Request.Params["class1id"]!=null)
   {
    class1id  = Request.Params["class1id"].ToString();
   }
   if(Request.Params["class2id"]!=null)
   {
    class2id  = Request.Params["class2id"].ToString();
   }
   ReadDataBase(newsid,class2id);
   MakeHtmlFile(newsid,class1id,class2id);
  }

  /// <summary>
  /// d同一分类中,上一,和下一文?br>  /// </summary>
  /// <param name="inputid"> 该文章ID</param>
  /// <param name="class2id">该文章所属分cID</param>
  public void ReadPrevAndNext(string inputid,string class2id)
  {
   int               id                 =    int.Parse(inputid);
   string            strPrevSQL         =    "select top 1 id,newstitle,newsdate from news where class2id='"+ class2id +"' and id<"+id+" order by id desc";
   string            strNextSQL         =    "select top 1 id,newstitle,newsdate from news where class2id='"+ class2id +"' and id>"+id+" order by id asc";
   OleDbDataReader   datar              =    null;
   OleDbConnection con       = new OleDbConnection(strcon);
   con.Open();
   OleDbCommand newcommand   = new OleDbCommand(strPrevSQL,con);
   datar                     = newcommand.ExecuteReader();
   while(datar.Read())
   {
    previd    =  datar["id"].ToString();
    prevtitle =  datar["newstitle"].ToString();
   }
   datar.Close();
   newcommand.CommandText = strNextSQL ;
   datar                  = newcommand.ExecuteReader();
   while(datar.Read())
   {
    nextid     =  datar["id"].ToString();
    nexttitle  =  datar["newstitle"].ToString();
   }
   con.Close();

  }

  /// <summary>
  /// 文章信息从库中dQƈ准备生成的HTML文g路径写入库中
  /// </summary>
  /// <param name="inputid"></param>
  /// <param name="class2id"></param>
  public void ReadDataBase(string inputid,string class2id)
  {
   string filename_w = MakeFileName(class1id,class2id,newsid)+".htm";
   
   ReadPrevAndNext(inputid,class2id);       //d下一和上一的信息?/p>


   OleDbConnection mycon  = new OleDbConnection(strcon);          //打开数据库连?br>   mycon.Open();

   int              id    = int.Parse(inputid);
   string       strSQL    = "select * from news where id="+id;
   OleDbDataReader  dr    = null;
   OleDbCommand mycommand = new OleDbCommand(strSQL,mycon);
   dr                     = mycommand.ExecuteReader();
   while(dr.Read())
   {
    newstitle   = dr["newstitle"].ToString();
    newscontent = dr["newscontent"].ToString();
    newsdate    = dr["newsdate"].ToString();
    newsip      = dr["newsip"].ToString();
   }
   dr.Close();
   mycommand.CommandText = "update news set url='"+ filename_w +"' where id="+int.Parse(inputid);   //生成的文g路径写入库中,以遍在生成分c页中方便?br>   mycommand.ExecuteNonQuery();
   mycon.Close();
   
  }


  /// <summary>
  /// 生成目标目录和文Ӟ主要用来生成不同分类的目?br>  /// </summary>
  /// <param name="inputstr"></param>
  /// <returns></returns>
  public string MakeCatalogName(string class1,string class2)            //生成目标目录文g
  {
   string namestr   = "Article";
   string rootstr   = Server.MapPath(".").ToString();
   string class1str  = rootstr + "\\" + namestr + "_" + class1 + "\\";
   string class2str  = rootstr + "\\" + namestr + "_" + class1 + "\\" + namestr + "_" + class2 + "\\";
   if(!Directory.Exists(class1str))
   {
    Directory.CreateDirectory(class1str);
   }
   if(!Directory.Exists(class2str))
   {
    Directory.CreateDirectory(class2str);
   }
              //创徏目标文g?br>   return class2str;
  }

  /// <summary>
  /// Ҏ(gu)文章分类和ID生成文g?br>  /// </summary>
  /// <param name="class1id"></param>
  /// <param name="class2id"></param>
  /// <param name="nid"></param>
  /// <returns>q回文g?lt;/returns>
  public string MakeFileName(string class1,string class2,string id)    //生成文g名,能够生成上下?br>  {
   string myclass2id    = class2;
   string myclass1id    = class1;
   string s             = DateTime.Now.Year.ToString()
    +DateTime.Now.Month.ToString()
    +DateTime.Now.Day.ToString()
    +"_"
    +myclass1id 
    +"_"
    +myclass2id                         //父类ID
    +"_"
    +id;                               //新闻ID
   return s;
  }

  /// <summary>
  /// 生成HTML文g
  /// </summary>
  /// <param name="nid">文章ID?lt;/param>
  public void MakeHtmlFile(string nid,string cla1id,string cla2id)                      //  MakeHtmlFile(string nid,string cla1id,string cla2id,string filetemp)  用于区分不同的摸?br>  {
   string file_path            =   Server.MapPath ("template/news_mb.htm");
   string desfilename          =   MakeFileName(cla1id,cla2id,nid)+".htm";
   string desfile              =   MakeCatalogName(cla1id,cla2id)+MakeFileName(cla1id,cla2id,nid)+".htm";
   string prevurl              =   MakeFileName(cla1id,cla2id,previd)+".htm";                 //Ҏ(gu)分类和ID生成上下的文gq接?br>   string nexturl              =   MakeFileName(cla1id,cla2id,nextid)+".htm";                 //下篇
   System.Text.Encoding code   =   System.Text.Encoding.GetEncoding("gb2312");
  
   StreamReader srd            =   null;        //?br>   StreamWriter swr            =   null;        //?br>  
   string strFile              =   null ;       //字符?br>  
   try
   {
    srd                     =   new StreamReader(file_path, code);
    strFile                 =   srd.ReadToEnd(); // d文g
   }
   catch(Exception exp)
   {
    HttpContext.Current.Response.Write(exp.Message);
    HttpContext.Current.Response.End();
    srd.Close();
   }
  
   strFile = strFile.Replace("$title$",newstitle);
   strFile = strFile.Replace("$content$",newscontent);
   strFile = strFile.Replace("$date$",newsdate);
   strFile = strFile.Replace("$ip$",newsip);
   strFile = strFile.Replace("$prev$",prevtitle);
   strFile = strFile.Replace("$next$",nexttitle);
   strFile = strFile.Replace("$prevurl$",prevurl);
   strFile = strFile.Replace("$nexturl$",nexturl);
 
   try
   {
    swr = new StreamWriter(desfile,false,code);
    swr.Write(strFile);
    swr.Flush();
   }
   catch(Exception ex)
   {
    HttpContext.Current.Response.Write(ex.Message);
    HttpContext.Current.Response.End();
   }
   finally
   {
    swr.Close();
   }
   if(srd!=null)
   {
    srd.Close();
   }
   Response.Write(desfilename);

  }

  public void Open()
  {
   if(conn==null)
   {
    conn = new OleDbConnection(strcon);
    conn.Open();
   }
  }
  public void Close()
  {
   if(conn!=null)
   {
    conn.Close();
   }
  }

  #region Web H体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web H体设计器所必需的?br>   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  /// 设计器支持所需的方?- 不要使用代码~辑器修?br>  /// 此方法的内容?br>  /// </summary>
  private void InitializeComponent()
  {   
   this.Load += new System.EventHandler(this.Page_Load);
  }
  #endregion
 }
}



圣域飞侠 2007-04-11 17:51 发表评论
]]>
ASP.NET生成静态页面实现方?http://www.aygfsteel.com/yeiwei/archive/2007/04/11/109964.html圣域飞侠圣域飞侠Wed, 11 Apr 2007 09:50:00 GMThttp://www.aygfsteel.com/yeiwei/archive/2007/04/11/109964.htmlhttp://www.aygfsteel.com/yeiwei/comments/109964.htmlhttp://www.aygfsteel.com/yeiwei/archive/2007/04/11/109964.html#Feedback1http://www.aygfsteel.com/yeiwei/comments/commentRss/109964.htmlhttp://www.aygfsteel.com/yeiwei/services/trackbacks/109964.html<!--Main.Aspx-->
<%@ page language="C#" %>
<%@ import namespace=System.IO %>
<script runat="server">
protected override void OnInit (EventArgs e)
{
  int id;
  try
  {
    id = int.Parse (Request.QueryString["id"]);
  }
  catch
  {
    throw (new Exception ("面没有指定id"));
  }
 
  string filename=Server.MapPath("statichtml_"+id+".html");
 
  //试d已有文g
  Stream s = GetFileStream (filename);
  if (s != null)//如果文g存在q且d成功
  {
    using (s)
    {
      Stream2Stream (s, Response.OutputStream);
      Response.End ();
    }
  }
 
 
  //调用Main_Execute,q且获取其输?br>  StringWriter sw = new StringWriter ();
  Server.Execute ("Main_Execute.aspx", sw);
 
  string content = sw.ToString ();
 
  //输出到客L(fng)
  Response.Write(content);
  Response.Flush();
 
  //写进文g
 
  try
  {
    using (FileStream fs = new FileStream (filename, FileMode.Create, FileAccess.Write, FileShare.Write))
    {
      using (StreamWriter streamwriter = new StreamWriter (fs, Response.ContentEncoding))
      {
        streamwriter.Write (content);
      }
    }
  }
  finally
  {
    //Response.End ();
  }
}
static public void Stream2Stream (Stream src, Stream dst)
{
  byte[] buf = new byte[4096];
  while (true)
  {
    int c = src.Read (buf, 0, buf.Length);
    if(c==0)
      return;
    dst.Write (buf, 0, c);
  }
}
public Stream GetFileStream(string filename)
{
  try
  {
    DateTime dt = File.GetLastWriteTime (filename);
    TimeSpan ts=dt - DateTime.Now;
    if(ts.TotalHours>1)
      return null;    //1时后过?br>    return new FileStream (filename, FileMode.Open, FileAccess.Read, FileShare.Read);
  }
  catch
  {
    return null;
  }
}
</script>


<!--Main_Execute.aspx-->
<%@ page language="C#" %>
<html>
<head runat="server">
  <title>Untitled Page</title>
</head>
<body>

ID:
<%=Request.QueryString["id"]%>

</body>
</html>

 


其中原理是这L(fng).
Main_Execute.aspx是生成HTML的页?

现在用Main.aspx来对它进行缓?
q程如下:

首先Ҏ(gu)面参数出文g?(q个例子只根据Request.QueryString["id"]来算)
试d~存的文?如果成功,那么Response.End();
如果不成?
使用Server.Execute来调用Main_Execute.aspx,q且获取它的l果内容.
得到内容?立刻输出到客L(fng).
最后把内容写进文g?提供l下一ơ做为缓存度? 



圣域飞侠 2007-04-11 17:50 发表评论
]]>
Orcas中C#语言的新Ҏ(gu):(x)自动属性,对象初始化器Q和集合初始化器 http://www.aygfsteel.com/yeiwei/archive/2007/04/11/109963.html圣域飞侠圣域飞侠Wed, 11 Apr 2007 09:47:00 GMThttp://www.aygfsteel.com/yeiwei/archive/2007/04/11/109963.htmlhttp://www.aygfsteel.com/yeiwei/comments/109963.htmlhttp://www.aygfsteel.com/yeiwei/archive/2007/04/11/109963.html#Feedback0http://www.aygfsteel.com/yeiwei/comments/commentRss/109963.htmlhttp://www.aygfsteel.com/yeiwei/services/trackbacks/109963.html上个星期Q我们发布了我们的Visual Studio?NET框架Orcas?a target=_blank>三月份的CTPQ这是个谁都可以下的免费下蝲Q同时提供VPC镜像(允许你在一个虚拟机里运行它)以及(qing)单独的安装文?注:(x)如果你在q行Vista的话Q你要确认你只用VPC版本)。你可以?a target=_blank>q里下蝲?

几个星期前,我曾在博客上讨论qOrcas中针对ASP.NET开发h员的一些重大的改进。如果你q没有读q这个脓(chung)子的话,我强烈徏议你在这里读一?/font>。我认ؓ(f)你会(x)非常喜欢该帖子讨论的新特性的?

除了那些框架和工L(fng)的精彩新Ҏ(gu)外Q我认ؓ(f)开发h?包括所有的.NET应用cd的开发h??x)非常喜爱O(jin)rcas的一件事情是QVB和C#包含一些新语言Ҏ(gu)和改进。这些语a改动以既微妙又深刻的方式改q我们的开发体验,势将改进效率Q减我们需要键入的代码量?

在下几个星期里,我将试着在博客里讨论几个q些语言的改q之处,C如何把它们用在一P来生一些非常强有力的结果?/p>

新的C#语言Ҏ(gu):(x)自动属?Automatic Properties)

如果你现在是C#开发h员的话,你大概非怹(fn)惯编写象下面q个代码片段一样带有基本属性的cdQ?/p>

 

    public class Person {

        
private string _firstName;
        private string 
_lastName;
        private int 
_age;
        
        public string 
FirstName {

            
get {
                
return _firstName;
            
}
            
set {
                _firstName 
= value;
            
}
        }

        
public string LastName {

            
get {
                
return _lastName;
            
}
            
set {
                _lastName 
= value;
            
}
        }        
        
        
public int Age {

            
get {
                
return _age;
            
}
            
set {
                _age 
= value;
            
}
        }
    }

 

注意Q我们在属性的geter/setter中实际上q没有添加什么逻辑Q我们只是将get/set实施C一个成员变量。我们不要问这样一个问题:(x)Z么不直接使用成员变量而用属性呢Q这是因为,向外面呈现公开的成员变量有很多不好的地斏V二个最大的问题是:(x)1) 你无法轻易地Ҏ(gu)员变量做数据l定Q?) 如果你从cM向外呈现成员变量的话Q之后,你不重新~译那些引用老的cȝME序集,无法将它们Ҏ(gu)属?譬如Q要d验证逻辑到setter??

Orcas中发布的新C#~译器通过一个叫“自动属?automatic properties)”的语aҎ(gu)提供了一个优雅的方式来得你的编码更加简z,同时q保持属性的灉|性。自动属性允怽避免手工声明一个私有成员变量以?qing)编写get/set逻辑Q取而代之的是,~译器会(x)自动Z生成一个私有变量和默认的get/set 操作?/p>

譬如Q用自动属性,我现在可以将上面的代码改写成Q?/p>

 

    public class Person {
    
        
public string FirstName {
            
get; set;
        
}

        
public string LastName {
            
get; set;
        
}        
        
        
public int Age {
            
get; set;
        
}
    }

 

或者,我想更简明的话,我可以将I白的地方做q一步压~,象这P(x)

 

    public class Person {
        
public string FirstName { get; set; }
        
public string LastName  { get; set; }        
        
public int    Age       { get; set; }
    }

 

当Orcas版中的C#~译器遇上象上面q样的空的get/set属性的话,它会(x)自动Z在类中生成一个私有成员变量,对这个变量实C个公开的getter 和setter。这么做的好处是Q从c?合同(type-contract)的角度来看,q个c跟我们上面W一个有点冗长的实现看上d全一Pq意味着Q不象公开的成员变量,在将来,我可以在我的属性setter实现中添加验证逻辑Q而不用对引用我的cȝM外部lg做改动?/p>

Bart De Smet对用Orcas三月份CTP版中的自动属性时内部发生的情形作了精彩的描述Q你可以在这里阅M的精彩相兛_?/font>?

C#和VB语言的新Ҏ(gu):(x)对象初始化器(Object Initializers)

.NET框架中的cd非常依赖于属性的使用。当生成对象实例和用新的类型时Q写下面q样的编码是非常常见的情形:(x)

 

   Person person = new Person();
   
person.FirstName "Scott";
   
person.LastName "Guthrie";
   
person.Age 32;

 

你有没有惌把这L(fng)~码化过(也许其安排在一行上)Q用Orcas中的C#和VB语言~译器的话,你现在可以利用一个称?#8220;对象初始化器(object Initializers)”?#8220;语法甜头(syntactic sugar)”语言Ҏ(gu)来做些化,上qC码重写ؓ(f)Q?/p>

 

  Person person = new Person { FirstName="Scott", LastName="Guthrie", Age=32 };

 

然后Q编译器׃(x)自动地生成合适的属性setter代码Q保持跟前面较冗长的代码例子同样的语意?/p>

除了在初始化cL讄单的属性值外Q对象初始化器特性也允许我们讄更复杂的嵌套(nested)属性类型。譬如,假如我们在上面定义的每个Personcd也拥有一个属于Addresscd的叫“Address”的属性。我们可以编写下面这L(fng)代码来生成一个新的Person对象Q同时设|它的属性,象这P(x)

 

   Person person = new Person {
      FirstName 
"Scott",
      LastName 
"Guthrie"
      
Age 32,
      Address 
= new Address {
         Street 
"One Microsoft Way",
         City 
"Redmond",
         State 
"WA",
         Zip 
98052
      
}
   }
;

 

Bart De Smet对用Orcas三月份CTP版中的对象初始化器时内部发生的情形也作了_ֽ的描qͼ你可?a target=_blank>在这里阅M的精彩相兛_?/font>?

C#和VB语言的新Ҏ(gu):(x)集合初始化器(Collection Initializers)

对象初始化器很棒Q它极大地简化了把对象添加到集合的做法。譬如,假如我要把三个h加到一个基于泛型的cd为Person的List集合中去的话Q我可以写下面这L(fng)~码Q?/p>

 

  List<Person> people = new List<Person>();
            
  
people.Add( new Person { FirstName "Scott", LastName "Guthrie", Age 32 } );
  
people.Add( new Person { FirstName "Bill", LastName "Gates", Age 50 } );
  
people.Add( new Person { FirstName "Susanne", LastName "Guthrie", Age 32 } );
 

 

对这个例子,跟我使用C# 2.0~译器要输入的代码相比,单独使用新的对象初始化器Ҏ(gu)就能省?2行额外的代码?/p>

但Orcas版中的C#和VB~译器允许我们更q一步,现在同时支持“集合初始化器(collection initializers)”Q这允许我们避免要写多个Add语句Q省下更多的键盘操作Q?/p>

 

   List<Person> people = new List<Person> {
      
new Person { FirstName "Scott", LastName "Guthrie", Age 32 },
      
new Person { FirstName "Bill", LastName "Gates", Age 50 },
      
new Person { FirstName "Susanne", LastName "Guthrie", Age 32 }
   }
;

 

当编译器遇上上面q样的句法时Q它?x)自动?f)我们生成象前面的例子一L(fng)集合插入~码?/p>

l语

作ؓ(f)开发h员,我们现在拥有了简明得多的方式来定义对象,对它们初始化Q将它们加入集合内。在q行Ӟ其语意,跟今天的较长的版本的语意Q是完全一L(fng)Q所以你不必担心行ؓ(f)?x)改变)。但现在你不需输入那么多字W了Q你的代码将既干净又简明?

在不q的来Q我发表更多的博客贴子来讨论Orcas版中更多的语a上的改进Q包括扩展方法(Extension MethodsQ,Lambdas和匿名类。然后,我将对LINQ做深入讨论,C它是如何利用所有这些特性来提供一个非怼雅的方式来查询和与数据交互的?/p>

圣域飞侠 2007-04-11 17:47 发表评论
]]>
.NET 3.0 资源列表 http://www.aygfsteel.com/yeiwei/archive/2007/04/11/109962.html圣域飞侠圣域飞侠Wed, 11 Apr 2007 09:46:00 GMThttp://www.aygfsteel.com/yeiwei/archive/2007/04/11/109962.htmlhttp://www.aygfsteel.com/yeiwei/comments/109962.htmlhttp://www.aygfsteel.com/yeiwei/archive/2007/04/11/109962.html#Feedback1http://www.aygfsteel.com/yeiwei/comments/commentRss/109962.htmlhttp://www.aygfsteel.com/yeiwei/services/trackbacks/109962.html.NET 3.0 - Full

Videos
WinFX (.NET 3.0) - Windows Presentation Foundation (WPF), InfoCard (Windows CardSpace) & Windows Communication Foundation (WCF)

Training

  • NETFXGuide
  • Free Vista / .NET 3.0 E-Learning: All courses listed here
  • See the New Capabilities: Microsoft .NET Framework 3.0 and Visual Studio 2005: Learn about Windows Presentation Foundation and more new capabilities provided by the .NET Framework 3.0. Free collection from Microsoft Learning. Click here or here.
  • Get Started With Windows Workflow Foundation: Free clinic from Microsoft Learning: See the functionality and architecture of Windows Workflow Foundation, and learn how to use it with Visual Studio 2005 to build workflow-enabled applications. Click here.
  • Introduction to Developing with Windows Communication Foundation and Visual Studio 2005: Free clinic from Microsoft Learning: Learn how to create Windows Communication Foundation (WCF) services and clients, and enhance WCF services. Click here.
  • .NET University Hands on Labs
  • .NET University schedule



WPF

WPF Blogs

WPF Whitepapers

WPF Videos

WPF Presentations
.NET University Windows Presentation Foundation PPTs

WPF Training

WPF Sample Applications


  • Cine.View: A WPF viewing application that exposes the NetFlix catalog and ordering capabilities created by the thirteen23 company. They also have a great viewer for Flickr.
  • New York Times Reader: A WPF content application that provides a rich browsing and reading experience for the paper's news content online in a Windows application
  • Karen Corby's Woodgrove Finance application: This is a WPF XAML Browser application that provides rich visualization of stock market data in a multi-paned WPF app that runs in the browser.
  • More samples

WCF

WCF Blogs

WCF Training
Clinic 5137 AE: Introduction to Developing with Windows Communication Foundation and Visual Studio 2005

WCF Whitepapers
MSDN: From .NET Remoting to the Windows Communication Foundation (WCF)

WCF Presentations
.NET University Windows Communication Foundation PPTs

WCF Webcasts

WCF Videos

WCF Sample Applications
ATLAS.ASP.NET: Using Windows Communication Foundation with "Atlas"

WF

WF Blogs
MasteringBizTalk.com: Using WF to run a page-flow
MSDN Blogs: Windows Workflow Foundation vs BizTalk Server

WF Whitepapers

WF Training
Clinic 5136 AE: Introduction to Developing with Windows Workflow Foundation and Visual Studio 2005

WF Presentations
.NET University Windows Workflow Foundation PPTs

WF Lab
Ajax based Windows Workflow Designer

WF Videos

CardSpace

CardSpace Whitepapers
Windows Vista Developer Center:A Guide to Supporting InfoCard (now CardSpace) v1.0 Within Web Applications and Browsers.

CardSpace Presentations
.NET University Windows CardSpace PPTs

CardSpace Sample Applications
Introduction to CardSpace with Internet Explorer 7.0



圣域飞侠 2007-04-11 17:46 发表评论
]]>
.Net 3.0的介l与部v http://www.aygfsteel.com/yeiwei/archive/2007/04/11/109961.html圣域飞侠圣域飞侠Wed, 11 Apr 2007 09:46:00 GMThttp://www.aygfsteel.com/yeiwei/archive/2007/04/11/109961.htmlhttp://www.aygfsteel.com/yeiwei/comments/109961.htmlhttp://www.aygfsteel.com/yeiwei/archive/2007/04/11/109961.html#Feedback0http://www.aygfsteel.com/yeiwei/comments/commentRss/109961.htmlhttp://www.aygfsteel.com/yeiwei/services/trackbacks/109961.html来清晎ͼ是更好的用户体验,更好的开发环境。借助于vista Qoffice 2007的发布,.net ~程已经不可LQBorland公司的没落是最好的诠释.
     相对于从1.1升?.0的换代性升U,?.0?.0的升U微软称?扩展?升Q是在原?.0基础上增加了新的技术,原来2.0库称?.0的一个子集?img height=311 alt="" src="http://www.cnblogs.com/images/cnblogs_com/luca/netfx30.gif" width=615 border=0>
关键技术:(x)1。WPF  提供了用于构Z一代smart-clientE序的类库,集成了UI设计Q文,多媒体等?br>                    2。WCF  提供了统一的面向服务编E模型?br>                    3。WWF 集成了开攑֟于工作流的逻辑处理E序的工P引擎Q模型?br>                    4。简化ƈ提高了在U用L(fng)安全识别能力?br>
安装Q?br>       1。卸载所?.0的beta版本?br>       2。如果已l安装了.net 2.0可以直接安装3.0四个扩展lg  http://www.netfx3.com/blogs/news_and_announcements/archive/2006/11/06/.NET-Framework-3.0-has-been-released_2100_.aspx
        没有安装2..0的可以去下蝲完整的安装包http://download.microsoft.com/download/3/F/0/3F0A922C-F239-4B9B-9CB0-DF53621C57D9/dotnetfx3.exe


查看安装成功Q?br>    打开注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup
查看InstallSuccess 是否?


圣域飞侠 2007-04-11 17:46 发表评论
]]>
NET Framework 3.0 问答译 http://www.aygfsteel.com/yeiwei/archive/2007/04/11/109958.html圣域飞侠圣域飞侠Wed, 11 Apr 2007 09:45:00 GMThttp://www.aygfsteel.com/yeiwei/archive/2007/04/11/109958.htmlhttp://www.aygfsteel.com/yeiwei/comments/109958.htmlhttp://www.aygfsteel.com/yeiwei/archive/2007/04/11/109958.html#Feedback0http://www.aygfsteel.com/yeiwei/comments/commentRss/109958.htmlhttp://www.aygfsteel.com/yeiwei/services/trackbacks/109958.html?/font> 2006 q?/font> 6 月,微Y副总裁 S. Somasegar 宣布 WinFX 更名ؓ(f) .NET Framework 3.0Q请知道更多详细资料L(fng)它的 Blog?/span>

q䆾文g包含了关?/font> .NET Framework 3.0 更名常被问到的问题,对于部v额外的问题请参照 MSDN 上的 .NET Framework 3.0 deployment 文g?/span>

?/font> 1Q什么是 .NET Framework 3.0Q先前代?/font> WinFXQ?

{?/span>Q?/span>.NET Framewrok 3.0 是微软受理E式码编写模型,它是 .NET Framework 2.0 的超集,以新的应用程式徏构技术结?/font> .NET Framework 2.0 componentQ包括了视觉化o(h)人震撼的用户体验Q指 WPF,AvalonQ、无~高度整合与安全的通讯Q指 WCF,IndigoQ、塑造徏构一个商业流E范围的能力Q指 WFQ?/font>WorkFlowQ及(qing) Windows CardSpace?/span>

?/font> 2Q?/font>WinFX 技术有些什么?

{?/span>Q?/span>WinFX 技术现在将?x)包含?/font> .NET Framework 3.0 之中释出Q对?/font> WinFX 技术本w或交货日期q没有Q何改变,其实是同L(fng)技术,只不q单单命名改变Ş了?/span>

?/font> 3Q?/font>.NET Framework 3.0 ?/font> .NET Framework 2.0 之间的关q性ؓ(f)何?

{?/span>Q?/span>.NET Framework 3.0 是在 .NET Framework 2.0 之上附加一些技术,.NET Framework 3.0 是在 .NET Framework 2.0 之上附加了四大部分新技术:(x)Windows Presentation Foundation (WPF) ?/font>Windows Workflow Foundation (WF) ?/font>Windows Communication Foundation (WCF) ?/font> Windows CardSpace。在 .NET Framework 3.0 中所包含?/font> .NET Framework 2.0 component 本nq没有Q何的变动Q这意谓着今天C百万计的 .NET E式开发h员可使用既有的技术能力去建构 .NET Framework 3.0 应用E式Q同时也意谓着今天?/font> .NET Framework 2.0 执行的应用程式也可以l箋?/font> .NET Framework 3.0 上执行?/font>

以下?/font> .NET Framework 3.0 的架构图Q?

?/font> 4Q当我安?/font> .NET Framework 3.0 时会(x)发生什么事Q如果我已安装了 .NET Framework 2.0 要如何升U?

{?/span>Q当你安?/span> .NET Framework 3.0 Ӟinstaller ?x)检查你是否已经安装 .NET Framework 2.0Q如果没有,.NET Framework 3.0 installer ?x)替?zhn)安?/font> .NET Framework 2.0Q然后再安装 .NET Framework 3.0 componentQ如果你已安?/font> .NET Framework 2.0Q?/font>.NET Framework 3.0 installer 只会(x)安装 .NET Framework 3.0 新的 Component?/span>

?/font> 5Q我的组l刚通过能够品应用在 .NET Framework 2.0 上的认证核准E序Q我们需要在 .NET Framework 3.0 之上重新全面q行相同的认证核准程序吗Q我需要ؓ(f) .NET Framework 2.0 应用E式做Q何的相容性测试吗Q指?/font> .NET Framework 3.0 上执行)Q?/font>

{?/span>Q因?/span> .NET Framework 3.0 只有加入新的 component ?/font> .NET Framework 2.0 之上Q而没有变动Q何的 .NET Framework 2.0 ?/font> componentQ所以徏构在 .NET Framework 2.0 之上的应用程式将不会(x)受到M影响Q故当?zhn)安装?/font> .NET Framework 3.0 之后Qƈ不需要ؓ(f)(zhn)的 .NET Framework 2.0 应用E式做Q何的试?/span>

?/font> 6Q名U的改变是否?x)反映在M .NET Framework 2.0 既存?/font> APIs, assemblies ?/font> namespaceQ?/font>

{?/span>Q在 .NET Framework 2.0 既存?/font> APIs, assemblies ?/font> namespace 不会(x)有Q何的改变Q你建构?/font> .NET Framework 2.0 之上的应用程式将?x)l照旧在 .NET Framework 3.0 上执行?/span>

?/font> 7Q?/font>.NET Framework 3.0 会(x)使用哪个版本?/font> Common Language Runtime (CLR)Q?/font>

{?/span>Q?/span>.NET Framework 3.0 会(x)使用 .NET Framework 2.0 ?/font> CLRQ?/font>V2.0.50727Q,透过 CLR 核心引擎的共用,能够减对整个开发^台的冲击Q我们也期望较ؓ(f)底层?/font> .NET Framework componentQ例?/font> CLR EngineQ能够较高阶层的 APIs 更少变动Q如此降低冲ȝ作法才能保障客户?/font> .NET 技术上的投资?/span>

?/font> 8Q如?/font> .NET Framework 使用 .NET Framework 2.0 ?/font> runtime ?/font> compilerQؓ(f)何它是以 3.0 作ؓ(f)版本L(fng)Q?/font>

{?/span>Q伴?/span> .NET Framework 3.0 所释出的新技术包括了 WCF, WF, WPF ?/font> CardSpaceQ它提供了很多很的功能与创斎ͼ因此我们认ؓ(f)它应该以 3.0 作ؓ(f)版本L(fng)?/span>

?/font> 9Q?/font>.NET Framework 3.0 的ƈ?/font> (Side by Side) 该如何完成呢Q?/font>

{?/span>Q因?/span> .NET Framework 3.0 只有?/font> .NET Framework 2.0 之上加入新的 componentsQ所?/font> .NET Framework 3.0 ?/font> .NET Framework 2.0 两者之间的 assemblies q没有重q的部分Q因此ƈ没有实际的ƈ行作业场景的问题存在Q你可以在相同一台电(sh)脑上Q同时执?/font> .NET Framework 2.0 ?/font> .NET Framework 3.0 的应用程式?/span>

?/font> 10Q我现在已执行徏构在 WinFX 之上的应用程式,是否我需要做M的改变以便能够在 .NET Framework 3.0 上执行?

{?/span>Q不需要,WinFX 的应用程式不需要做M的改变就可以?/font> .NET Framework 3.0 之上执行。当然由?/font> .NET Framework 3.0 仍然在发展中Q所以未?/font> Framework 也许有些变动也说不定?/span>

?/font> 11Q我是否可以U除特定?/font> .NET Framework 3.0 componentsQ?/font>

{?/span>Q答案是不行的,因ؓ(f) .NET Framework 3.0 componentsQ?/font>WPF, WCF, WF, and CardSpaceQ是单一 Package 的一部分Qƈ且是安装在一L(fng)?/span>

?/font> 12Q?/font>C# 3.0?/font>VB 9?/font>Atlas ?/font> Linq 是否?x)包含?/font> .NET Framework 3.0 之中Q?/font>

{?/span>Q答案是不会(x)的,因ؓ(f)q些功能会(x)包含在更未来的版本,.NET Framework 3.0 只会(x)包含先前所描述?/font> WinFX 技术?/span>

?/font> 13Q在 .NET Framework 3.0 发行Ӟ是否?x)包?/font> .NET Compact Framework 3.0 版本Q?/font>

{?/span>Q答案是不会(x)Q我们目前正开发可支援 .NET Framework 3.0 功能的的 Compact Framework 版本Q但发行日期和所包含的功能目前尚未宣布?/span>

?/font> 14Q代?/font> Orcas ?/font> Visual Studio ?x)是使用哪个版本L(fng)?/font> .NET FrameworkQ?/font>

{?/span>Q目前我们对?/span> Orcas 产品仍在规划中,所?/font> .NET Framework 的版本号码尚未定义?/span>

?/font> 15Q?/font>.NET Framework 3.0 中的新功能(WPF, WCF, WF, and CardSpaceQ将?x)被安装在什么地方?是否和目?/font> .NET Framework 2.0 所安装的\径会(x)有所差异Q?/font>

{?/span>Q和 .NET Framework 2.0 q?/font> components 会(x)安装?/font> %windir%\Microsoft.NET\Framework\V2.0.50727 路径Q?/font> .NET Framework 3.0 新功能将?x)安装?/font> %windir%\Microsoft.NET\Framework\V3.0 路径。安装与部v的更多详l资讯请参?/font> .NET 3.0 Deployment whitepaper?/span>

?/font> 16Q?/font>.NET Framework 3.0 ?x)有多大Q这L(fng)改变Q是否会(x)比目前释出的版本变得更大Q?/font>

{?/span>Q从 WinFX 命名变更?/font> .NET Framework 3.0 之后的大ƈ没有变更Q它大约?/font> 49MBQ其中包含了 .NET Framework 2.0 ?/font> 22MB?/span>

?/font> 17Q对?/font> .NET Framework 3.0 的服务运作将?x)是如何Q如果我安装 .NET Framework 3.0 之后Q我q可以获?/font> .NET Framework 2.0 的更新服务吗Q?/font>

{?/span>Q更新服务对?/span> .NET Framework 2.0 ?qing)其作业pȝ仍?x)被l箋QQ何的 .NET Framework 2.0 更新服务也将?x)在安?/font> .NET Framework 3.0 时所一q安装的 .NET Framework 2.0 components 上正怽用?/span>

?/font> 18Q?/font>.NET Framework 3.0 会(x)支援何种作业pȝQ?/font>

{?/span>Q?/span>.NET Framework 3.0 会(x)支援 Windows Vista™, Windows Server 2003 (SP1), and Windows XP (SP2) 作业pȝ?/span>

?/font> 19Q何时会(x)发布释出 .NET Framework 3.0Q?/font>

{?/span>Q?/span>.NET Framework 3.0 ?x)是包含?/font> Windows Vista 作业pȝ的一部分Q?/font>Windows Vista 的客户将?x)得?/font> .NET Framework 3.0。给商业客户的第一?/font> Windows Vista 版本Q目前计划是?/font> 2006 q?/font> 11 月,然而最后日期会(x)视客户回馈反应而决定?/font>

在此同时Q我们会(x)q泛地提供给 Windows XP and Windows Server 2003 客户获得 .NET Framework 3.0 下蝲?/font>

?/font> 20Q?/font>.NET Framework 3.0 ?/font> Windows Vista 作业pȝ之间的相xؓ(f)何?

{?/span>Q?/span>.NET Framework 3.0 ?/font> Windows Vista 作业pȝ的核心元Ӟq且预设是会(x)安装?/font> Windows Vista 作业pȝQ而它也会(x)?/font> Windows XP and Windows Server 2003 客户取得?/span>

?/font> 21Q是?/font> .NET Framework 3.0 有Q何的功能只能?/font> Windows Vista 作业pȝ上才能执行?

{?/span>Q虽然有?/span> .NET Framework 3.0 的最?jng)_会(x)?/font> Windows Vista 新功而n有利益,但我们努力提供一致性的l验?/font> Windows Vista, Windows Server 2003, and Windows XP q三U作业系l之上?/span>

 


圣域飞侠 2007-04-11 17:45 发表评论
]]>
ASP.NET2.0文g囄处理http://www.aygfsteel.com/yeiwei/archive/2007/04/04/108347.html圣域飞侠圣域飞侠Wed, 04 Apr 2007 01:49:00 GMThttp://www.aygfsteel.com/yeiwei/archive/2007/04/04/108347.htmlhttp://www.aygfsteel.com/yeiwei/comments/108347.htmlhttp://www.aygfsteel.com/yeiwei/archive/2007/04/04/108347.html#Feedback0http://www.aygfsteel.com/yeiwei/comments/commentRss/108347.htmlhttp://www.aygfsteel.com/yeiwei/services/trackbacks/108347.html阅读全文

圣域飞侠 2007-04-04 09:49 发表评论
]]>
赛马游戏源码http://www.aygfsteel.com/yeiwei/archive/2007/04/02/107885.html圣域飞侠圣域飞侠Mon, 02 Apr 2007 02:46:00 GMThttp://www.aygfsteel.com/yeiwei/archive/2007/04/02/107885.htmlhttp://www.aygfsteel.com/yeiwei/comments/107885.htmlhttp://www.aygfsteel.com/yeiwei/archive/2007/04/02/107885.html#Feedback0http://www.aygfsteel.com/yeiwei/comments/commentRss/107885.htmlhttp://www.aygfsteel.com/yeiwei/services/trackbacks/107885.html
//import javax.microedition.lcdui.*;
import java.util.Random;
import java.lang.String;

public class HorseX
{
public int m_No;
public int m_HorseAge;
public int m_HorseEx,m_HorseEndur,m_HorseHealth;
public char[] m_HorseName=new char[4];//="my horse";
// public static StringBuffer m_HorseName;//new char[4];//="my horse";
public static final String LetterTable="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
public int m_Speed;
public int m_HorseState;
public int m_golds;
public int m_silvers;

public HorseX(int endur,int exp,int health,int no)
{

init(endur,exp,health,no);

}
public void init(int endur,int exp,int health,int no)
{
int randnum=0;

// rand.setSeed(no*12398147);
randnum=HorseMidlet.rand.nextInt();
m_HorseAge=Myabs(randnum%6+1);

//the "10" is the difficulty

m_HorseEndur=Myabs((randnum%20+10-20+endur))+1;
m_HorseEx=Myabs((randnum%20+10-20+exp))+1;
m_HorseHealth=Myabs((randnum%20+10-20+health))+1;
int x=m_HorseEndur;
// m_HorseName.append(LetterTable.charAt(x%25)).append(LetterTa
ble.charAt((x+5)%25)).append(LetterTable.charAt((x+17)%25));
m_HorseName[0]=LetterTable.charAt(x%25);
m_HorseName[1]=LetterTable.charAt((x+5)%25);
m_HorseName[2]=LetterTable.charAt((x+17)%25);
m_HorseState=randnum%4;
m_Speed=GetSpeed();
m_No=no;
m_golds=0;
m_silvers=0;

}

public static int Myabs(int value)
{
if(value<0)
value*=-1;
return value;
}

public static int Mysign(int value)
{
if(value<0)
return -1;
return 1;
}


//Calculate teh horse speed
public int GetSpeed()
{
int i=0;
int randnum=0;

randnum=HorseMidlet.rand.nextInt();
i=(m_HorseEx+m_HorseEndur+m_HorseHealth)/3;
i=Myabs(m_HorseEx-i)+Myabs(m_HorseEndur-i)+Myabs(m_HorseHealth-i)+1;
//i=i*rand()%3+1;

i=(m_HorseEx*4+m_HorseEndur*2+m_HorseHealth*3)*(randnum%2+1)/i;
return i;

}

}





package HorseClub;
import javax.microedition.lcdui.*;
import java.util.Random;

public class HorseCanvas extends Canvas implements Runnable, CommandListener
{
private HorseMidlet midlet;
private volatile Thread animationThread=null;

private static int canvasHeight, canvasWidth;
private HorseRacing myHorseRacing;

private Image buffer;
private Graphics graphics;

//for lot UI
private static int lot_no;
private static int lot_money;
private static int lot_select=0;//0 for lot_no
private static int sumTemp;
//images


private boolean running;
// private final int SLEEP=10;
private final int SLEEP=10;
private int ReadyToSleep=0;
private int Intro_pos=0;
private Command exit;
// private Command memory;
private Command newGame;

private Image[] imgMenu = null;
private Image[] imgDot = null;
// imgfloor=new Image[7];
private Image[] imgLot = null;
private Image[] imgTextFirstLot1 = null;
private Image[] imgTextFirstLot2 = null;

private Image[] imgTmp = null;
private Image[] imgTextSecondLot1= null;
private Image[] imgTextSecondLot2= null;
private Image[] imgTextRacingNum = null;
private Image[] imgTextAge = null;
private Image[] imgTextExp = null;
private Image[] imgTextEndur = null;
private Image[] imgTextHealth = null;
private Image[] imgTextTotalMoney = null;
private Image[] imgTextLotNum = null;
private Image[] imgTextLotMoney = null;
private Image[] imgTextOK1 = null;
private Image[] imgTextOK2 = null;

private Image[] imgTextReset1 = null;
private Image[] imgTextReset2 = null;

private Image[] imgTextBack1 = null;
private Image[] imgTextBack2 = null;


private Image[] imgWin = null;




public HorseCanvas(HorseMidlet midlet)
{
this.midlet=midlet;
canvasHeight=getHeight();
canvasWidth=getWidth();

myHorseRacing=new HorseRacing();

buffer=Image.createImage(canvasWidth, canvasHeight);
graphics=buffer.getGraphics();

exit=new Command("退?, Command.STOP,1);
// memory=new Command("Memory", Command.SCREEN,1);
newGame = new Command("新游?,Command.SCREEN,1);

this.addCommand(exit);
// this.addCommand(memory);
this.addCommand(newGame);

this.setCommandListener(this);
sumTemp = 0;

imgMenu=new Image[1];
imgDot= new Image[1];
imgMenu=HorseMidlet.getImages("menu",1);
System.out.println("Free memory: MENU"+Runtime.getRuntime().freeMemory());

imgDot=HorseMidlet.getImages("bluedot",1);
System.out.println("Free memory: BLUEDOT"+Runtime.getRuntime().freeMemory(
));

imgLot = new Image[1];

imgLot=HorseMidlet.getImages("lothorse",1);

imgTextFirstLot1 = new Image[1];
imgTextFirstLot1 = HorseMidlet.getImages("text_firston", 1);
imgTextFirstLot2 = new Image[1];
imgTextFirstLot2 = HorseMidlet.getImages("text_firstoff", 1);

imgTextSecondLot1 = new Image[1];
imgTextSecondLot1 = HorseMidlet.getImages("text_secondon", 1);
imgTextSecondLot2 = new Image[1];
imgTextSecondLot2 = HorseMidlet.getImages("text_secondoff", 1);

imgTextRacingNum = new Image[1];
imgTextRacingNum=HorseMidlet.getImages("text_racingnum",1);

imgTextAge = new Image[1];
imgTextAge=HorseMidlet.getImages("text_age",1);

imgTextExp = new Image[1];
imgTextExp=HorseMidlet.getImages("text_exp",1);

imgTextEndur = new Image[1];
imgTextEndur=HorseMidlet.getImages("text_endur",1);


imgTextHealth = new Image[1];
imgTextHealth=HorseMidlet.getImages("text_health",1);

imgTextTotalMoney = new Image[1];
imgTextTotalMoney=HorseMidlet.getImages("text_totalmoney",1);

imgTextLotNum = new Image[1];
imgTextLotNum=HorseMidlet.getImages("text_lotnum",1);

imgTextLotMoney = new Image[1];
imgTextLotMoney=HorseMidlet.getImages("text_lotmoney",1);

imgTextOK1 = new Image[1];
imgTextOK1 = HorseMidlet.getImages("text_okon", 1);
imgTextOK2 = new Image[1];
imgTextOK2 = HorseMidlet.getImages("text_okoff", 1);

imgTextReset1 = new Image[1];
imgTextReset1 = HorseMidlet.getImages("text_reseton", 1);
imgTextReset2 = new Image[1];
imgTextReset2 = HorseMidlet.getImages("text_resetoff", 1);

imgTextBack1 = new Image[1];
imgTextBack1 = HorseMidlet.getImages("text_backon", 1);

imgTextBack2 = new Image[1];
imgTextBack2 = HorseMidlet.getImages("text_backoff", 1);

// imgWin = new Image[1];
// imgWin=HorseMidlet.getImages("win",1);






repaint();
}

public static int getCanvasHeight() {return canvasHeight;}
public static int getCanvasWidth() {return canvasWidth;}

synchronized void start()
{
running=true;
animationThread=new Thread(this);
animationThread.start();

}
public void run()
{
try
{
while (running)
{
repaint(0,0,canvasWidth, canvasHeight);
serviceRepaints();
Thread.sleep(SLEEP);
}
}
catch(InterruptedException ie)
{
System.out.println(ie.toString());
}
}

synchronized void stop()
{
running=false;
}

public void paint (Graphics g)
{
System.out.println("Free memory: "+Runtime.getRuntime().freeMemory()+" Tot
al Memory"+Runtime.getRuntime().totalMemory());


switch (HorseMidlet.gamestate) {
case HorseMidlet.GAME_STATE_START:
//draw menu


g.setColor(210,210,250);
g.fillRect(0,0,getCanvasWidth(),getCanvasHeight());
// if (sumTemp == 0)
// {

/* imgMenu=HorseMidlet.getImages("menu",1);
System.out.println("Free memory: MENU"+Runtime.getRuntime().freeM
emory());
imgDot=HorseMidlet.getImages("bluedot",1);
System.out.println("Free memory: BLUEDOT"+Runtime.getRuntime().fr
eeMemory());
sumTemp = 1;*/
// }



// g.drawImage(imgMenu[0],10,10,g.LEFT|g.TOP);
// g.drawImage(imgDot[0],30,75+HorseMidlet.substate*21,g.LEFT|g.TOP);

g.drawImage(imgMenu[0],0,10,g.LEFT|g.TOP);
g.drawImage(imgDot[0],16,75+HorseMidlet.substate*21,g.LEFT|g.TOP);
System.out.println("Free memory: ***"+Runtime.getRuntime().freeMemor
y());
g.setColor(127,0,0);

// g.drawString(Long.toString(Runtime.getRuntime().totalMemory())+"?br>?,10,10,g.TOP|g.LEFT);
// g.drawString(Long.toString(Runtime.getRuntime().freeMemory()),10,30,
g.TOP|g.LEFT);

// imgMenu = null;
// imgDot = null;



break;

case HorseMidlet.GAME_STATE_INTRO:
g.setColor(210,210,250);
g.fillRect(0,0,getCanvasWidth(),getCanvasHeight());

// g.drawImage(HorseMidlet.imgIntroBG[0],10,10,g.LEFT|g.TOP);
g.drawImage(HorseMidlet.imgIntroBG[0],0,10,g.LEFT|g.TOP);

// 此处需要修?br>if(Intro_pos 0)
Intro_pos++;

// g.setClip(10,10,HorseMidlet.imgIntro[0].getWidth() , HorseMidlet.i
mgIntro[0].getHeight());
// g.drawImage(HorseMidlet.imgIntro[0], 10,-Intro_pos+10, g.LEFT | g.
TOP);
// g.setClip(0, 0, getCanvasWidth(),getCanvasHeight());
g.setClip(0,0,HorseMidlet.imgIntro[0].getWidth() , HorseMidlet.imgIn
tro[0].getHeight());
g.drawImage(HorseMidlet.imgIntro[0], 0,-Intro_pos, g.LEFT | g.TOP);

// if (Intro_pos==HorseMidlet.imgIntro[0].getHeight()-getCanvasHeight
()-100)
// {
// g.drawImage(HorseMidlet.imgIntro[1], 3,getCanvasHeight()-60, g.LEF
T | g.TOP);
// }

g.setClip(0, 0, getCanvasWidth(),getCanvasHeight());

try
{
Thread.sleep(8);
repaint();
}
catch(InterruptedException ie)
{
System.out.println(ie.toString());
}



break;
case HorseMidlet.GAME_STATE_LOT:
// imgMenu = null;
// imgDot = null;
//draw lot
if(HorseMidlet.substate==0)
{
lot_no=HorseMidlet.firstlot_no;
lot_money=HorseMidlet.firstlot_money;
}
if(HorseMidlet.substate==1)
{
lot_no=HorseMidlet.secondlot_no;
lot_money=HorseMidlet.secondlot_money;
}

// Image[] imgLot=new Image[1];

// imgLot=HorseMidlet.getImages("lothorse",1);
g.setColor(105,117,184);
g.fillRect(0,0,getCanvasWidth(),getCanvasHeight());
// g.drawImage(imgLot[0],10,7,g.LEFT|g.TOP);
g.drawImage(imgLot[0],0,7,g.LEFT|g.TOP);
g.setColor(0,0,0);
// g.fillRect(10,46,40,14);
g.fillRect(0,46,40,14);
//draw the name
g.setColor(255,255,255);
// g.drawChars(myHorseRacing.horses[lot_no].m_HorseName,0,3,28,59,1);

g.drawChars(myHorseRacing.horses[lot_no].m_HorseName,0,3,18,59,1);

// Image[] imgTextFirstLot=new Image[1];
if(HorseMidlet.substate==0)
{
// imgTextFirstLot = HorseMidlet.getImages("text_firston", 1);
g.drawImage(imgTextFirstLot1[0],0,61,g.LEFT|g.TOP);
}
else
{
// imgTextFirstLot = HorseMidlet.getImages("text_firstoff", 1);
g.drawImage(imgTextFirstLot2[0],0,61,g.LEFT|g.TOP);
}

// g.drawImage(imgTextFirstLot[0],10,61,g.LEFT|g.TOP);
// g.drawImage(imgTextFirstLot[0],0,61,g.LEFT|g.TOP);

// Image[] imgTextSecondLot=new Image[1];
if(HorseMidlet.substate==1)
{
// imgTextSecondLot = HorseMidlet.getImages("text_secondon", 1);
g.drawImage(imgTextSecondLot1[0],0,74,g.LEFT|g.TOP);
}
else
{
// imgTextSecondLot = HorseMidlet.getImages("text_secondoff", 1);
g.drawImage(imgTextSecondLot2[0],0,74,g.LEFT|g.TOP);
}

// g.drawImage(imgTextSecondLot[0],10,74,g.LEFT|g.TOP);
// g.drawImage(imgTextSecondLot[0],0,74,g.LEFT|g.TOP);


//draw the horse info
g.setColor(255,180,0);
// g.fillRect(60,7,getCanvasWidth()/2+20,getCanvasHeight()/2+4);
//右上?br>g.fillRect(50,7,76,getCanvasHeight()/2+4);

g.setColor(0,0,0);
// g.drawRect(60,7,getCanvasWidth()/2+20,getCanvasHeight()/2+4);
g.drawRect(50,7,76,getCanvasHeight()/2+4);

g.setColor(255,255,255);
//draw horse info text
// Image[] imgTextRacingNum=new Image[1];
// imgTextRacingNum=HorseMidlet.getImages("text_racingnum",1);
// g.drawImage(imgTextRacingNum[0],70,13,g.LEFT|g.TOP);
g.drawImage(imgTextRacingNum[0],55,13,g.LEFT|g.TOP);

// Image[] imgTextAge=new Image[1];
// imgTextAge=HorseMidlet.getImages("text_age",1);
// g.drawImage(imgTextAge[0],70,27,g.LEFT|g.TOP);
g.drawImage(imgTextAge[0],55,27,g.LEFT|g.TOP);

// Image[] imgTextExp=new Image[1];
// imgTextExp=HorseMidlet.getImages("text_exp",1);
// g.drawImage(imgTextExp[0],70,41,g.LEFT|g.TOP);
g.drawImage(imgTextExp[0],55,41,g.LEFT|g.TOP);

// Image[] imgTextEndur=new Image[1];
// imgTextEndur=HorseMidlet.getImages("text_endur",1);

// g.drawImage(imgTextEndur[0],70,55,g.LEFT|g.TOP);
g.drawImage(imgTextEndur[0],55,55,g.LEFT|g.TOP);

// Image[] imgTextHealth=new Image[1];
// imgTextHealth=HorseMidlet.getImages("text_health",1);
// g.drawImage(imgTextHealth[0],70,69,g.LEFT|g.TOP);
g.drawImage(imgTextHealth[0],55,69,g.LEFT|g.TOP);

/* g.drawString(java.lang.Integer.toString(myHorseRacing.horses[lot_no
].m_No),140,22,1);
g.drawString(java.lang.Integer.toString(myHorseRacing.horses[lot_no].
m_HorseAge),142,34,1);
g.drawString(java.lang.Integer.toString(myHorseRacing.horses[lot_no].
m_HorseEx),140,50,1);
g.drawString(java.lang.Integer.toString(myHorseRacing.horses[lot_no].
m_HorseEndur),140,64,1);
g.drawString(java.lang.Integer.toString(myHorseRacing.horses[lot_no].
m_HorseHealth),140,78,1);
*/
g.drawString(java.lang.Integer.toString(myHorseRacing.horses[lot_no].
m_No),112,22,1);
g.drawString(java.lang.Integer.toString(myHorseRacing.horses[lot_no].
m_HorseAge),112,34,1);
g.drawString(java.lang.Integer.toString(myHorseRacing.horses[lot_no].
m_HorseEx),110,50,1);
g.drawString(java.lang.Integer.toString(myHorseRacing.horses[lot_no].
m_HorseEndur),110,64,1);
g.drawString(java.lang.Integer.toString(myHorseRacing.horses[lot_no].
m_HorseHealth),110,78,1);


//draw lot info box

g.setColor(255,180,0);
// g.fillRect(10,getCanvasHeight()/2+18,getCanvasWidth()/2+20,44);
g.fillRect(0,getCanvasHeight()/2+18,87,44);

g.setColor(0,0,0);
// g.drawRect(10,getCanvasHeight()/2+18,getCanvasWidth()/2+20,44);
g.drawRect(0,getCanvasHeight()/2+18,87,44);


// Image[] imgTextTotalMoney=new Image[1];
// imgTextTotalMoney=HorseMidlet.getImages("text_totalmoney",1);
// g.drawImage(imgTextTotalMoney[0],17,92,g.LEFT|g.TOP);
g.drawImage(imgTextTotalMoney[0],2,92,g.LEFT|g.TOP);

g.setColor(0,0,0);
// g.fillRect(70,92,40,12);
g.fillRect(49,92,35,12);

// g.drawLine(10,105,10+getCanvasWidth()/2+20,105);
g.drawLine(0,105,87,105);

// Image[] imgTextLotNum=new Image[1];
// imgTextLotNum=HorseMidlet.getImages("text_lotnum",1);
// g.drawImage(imgTextLotNum[0],17,106,g.LEFT|g.TOP);
g.drawImage(imgTextLotNum[0],2,106,g.LEFT|g.TOP);

// g.fillRect(70,106,40,12);

// g.drawLine(10,119,10+getCanvasWidth()/2+20,119);
g.fillRect(49,106,35,12);
g.drawLine(0,119,87,119);

// Image[] imgTextLotMoney=new Image[1];
// imgTextLotMoney=HorseMidlet.getImages("text_lotmoney",1);
// g.drawImage(imgTextLotMoney[0],17,120,g.LEFT|g.TOP);
// g.fillRect(70,120,40,12);
g.drawImage(imgTextLotMoney[0],2,120,g.LEFT|g.TOP);
g.fillRect(49,120,35,12);

//draw lot info
g.setColor(255,255,255);
// g.drawString(java.lang.Integer.toString(HorseMidlet.mytotalmoney),8
5,103,1);

g.drawString(java.lang.Integer.toString(HorseMidlet.mytotalmoney),63,
103,1);

if(lot_select==0)
{
g.setColor(0,255,80);
}
else
{
g.setColor(255,255,255);

}
// g.drawString(java.lang.Integer.toString(lot_no+1), 85,
// 117, 1);
g.drawString(java.lang.Integer.toString(lot_no+1), 63,117, 1);

if(lot_select==1)
{
g.setColor(0,255,80);
}
else
{
g.setColor(255,255,255);
}
// g.drawString(java.lang.Integer.toString(lot_money),
// 85, 131, 1);
g.drawString(java.lang.Integer.toString(lot_money), 63, 131, 1);


// Image[] imgTextOK=new Image[1];

if(HorseMidlet.substate==2)
{
// imgTextOK = HorseMidlet.getImages("text_okon", 1);
g.drawImage(imgTextOK1[0],89,93,g.LEFT|g.TOP);

}
else
{
// imgTextOK = HorseMidlet.getImages("text_okoff", 1);
g.drawImage(imgTextOK2[0],89,93,g.LEFT|g.TOP);

}
// g.drawImage(imgTextOK[0],128,93,g.LEFT|g.TOP);
// g.drawImage(imgTextOK[0],89,93,g.LEFT|g.TOP);


// Image[] imgTextReset=new Image[1];
if(HorseMidlet.substate==3)
{
// imgTextReset = HorseMidlet.getImages("text_reseton", 1);
g.drawImage(imgTextReset1[0],89,108,g.LEFT|g.TOP);

}
else
{
// imgTextReset = HorseMidlet.getImages("text_resetoff", 1);
g.drawImage(imgTextReset2[0],89,108,g.LEFT|g.TOP);

}
// g.drawImage(imgTextReset[0],128,108,g.LEFT|g.TOP);
// g.drawImage(imgTextReset[0],89,108,g.LEFT|g.TOP);


// Image[] imgTextBack=new Image[1];
if(HorseMidlet.substate==4)
{
// imgTextBack = HorseMidlet.getImages("text_backon", 1);
g.drawImage(imgTextBack1[0],89,123,g.LEFT|g.TOP);
}
else
{
// imgTextBack = HorseMidlet.getImages("text_backoff", 1);
g.drawImage(imgTextBack2[0],89,123,g.LEFT|g.TOP);
}
// g.drawImage(imgTextBack[0],128,123,g.LEFT|g.TOP);
// g.drawImage(imgTextBack[0],89,123,g.LEFT|g.TOP);



break;

case HorseMidlet.GAME_STATE_RACING:
drawAnimation(g);
g.setColor(127,0,0);
// g.drawString(Long.toString(Runtime.getRuntime().totalMemory()),10
,10,g.TOP|g.LEFT);
// g.drawString(Long.toString(Runtime.getRuntime().freeMemory()),10,3
0,g.TOP|g.LEFT);

break;
case HorseMidlet.GAME_STATE_RACINGEND:
drawAnimation(g);
Image[] imgWin=new Image[1];
imgWin=HorseMidlet.getImages("win",1);
// g.drawImage(imgWin[0],40,20,g.LEFT|g.TOP);
g.drawImage(imgWin[0],20,20,g.LEFT|g.TOP);

int i,gold,goldi,silver,silveri,goldbonus=0,silverbonus;
gold=myHorseRacing.xHorsePos[0];
goldi=0;

for(i=1;i<8;i++)
{
if(gold { gold=myHorseRacing.xHorsePos[i];goldi=i;}
}
silveri=-1;
silver=-1;
for(i=0;i<7;i++)
{
if(goldi==i)continue;
if(silveri==-1||silver { silver=myHorseRacing.xHorsePos[i];silveri=i;}
}

//draw number
g.setColor(200,0,0);
/* g.drawChars(myHorseRacing.horses[goldi].m_HorseName,0,3,61,61,1);
g.drawString(java.lang.Integer.toString(myHorseRacing.horses[goldi].m_
No),70,64,0);

g.drawChars(myHorseRacing.horses[silveri].m_HorseName,0,3,61,113,1);
g.drawString(java.lang.Integer.toString(myHorseRacing.horses[silveri].
m_No),70,116,0);
*/
g.drawChars(myHorseRacing.horses[goldi].m_HorseName,0,3,41,61,1);
g.drawString(java.lang.Integer.toString(myHorseRacing.horses[goldi].m_No),
52,75,1);

g.drawChars(myHorseRacing.horses[silveri].m_HorseName,0,3,41,113,1);
g.drawString(java.lang.Integer.toString(myHorseRacing.horses[silveri].m_No
),52,127,1);


//calculate the bonus
if(HorseMidlet.myhorse.m_No<9)
{//bingo,Youself got the gold/silver
if(HorseMidlet.myhorse.m_No==goldi)
HorseMidlet.myhorse.m_golds++;
else
if(HorseMidlet.myhorse.m_No==silveri)
HorseMidlet.myhorse.m_silvers++;
}

if(HorseMidlet.firstlot_no==goldi)//First Lot got gold
{
if(HorseMidlet.myhorse.m_No==HorseMidlet.firstlot_no)
goldbonus=HorseMidlet.MONEY_GOLD_MUL_M*HorseMidlet.fir
stlot_money;
else
goldbonus=HorseMidlet.MONEY_GOLD_MUL*HorseMidlet.first
lot_money;
}
else
if(HorseMidlet.secondlot_no==goldi)//Second Lot got gold
{
if(HorseMidlet.myhorse.m_No==HorseMidlet.secondlot_no)
goldbonus=HorseMidlet.MONEY_GOLD_MUL_M*HorseMidlet.secondlot_m
oney;
else
goldbonus=HorseMidlet.MONEY_GOLD_MUL*HorseMidlet.secondlot_mon
ey;
}
else goldbonus=0;

if(HorseMidlet.firstlot_no==silveri)//First Lot got gold
{
if(HorseMidlet.myhorse.m_No==HorseMidlet.firstlot_no)
silverbonus=HorseMidlet.MONEY_SILVER_MUL_M*HorseMidlet
.firstlot_money;
else
silverbonus=HorseMidlet.MONEY_SILVER_MUL*HorseMidlet.f
irstlot_money;
}
else
if(HorseMidlet.secondlot_no==silveri)//Second Lot got gold
{
if(HorseMidlet.myhorse.m_No==HorseMidlet.secondlot_no)
silverbonus=HorseMidlet.MONEY_SILVER_MUL_M*HorseMidlet.secondl
ot_money;
else
silverbonus=HorseMidlet.MONEY_SILVER_MUL*HorseMidlet.secondlot
_money;
}
else silverbonus=0;

//draw the bonus
// g.drawString(java.lang.Integer.toString(goldbonus),110,75,1);
// g.drawString(java.lang.Integer.toString(silverbonus),110,127,1);
g.drawString(java.lang.Integer.toString(goldbonus),93,75,1);
g.drawString(java.lang.Integer.toString(silverbonus),93,127,1);



if(HorseMidlet.myhorse.m_No<9)
{
Random rand=new Random();
if((rand.nextInt()%100)>HorseMidlet.MATCH_WOUND_RATIO)
{
HorseMidlet.myhorse.m_HorseHealth-=rand.nextInt()%HorseMidle
t.WOUND_MAX;
}
}
HorseMidlet.mytotalmoney+=goldbonus+silverbonus;
stop();//stop the animation
break;
/*
case HorseMidlet.GAME_STATE_TRAINING:
g.setColor(255,180,0);
g.fillRect(0,0,getCanvasWidth(),getCanvasHeight());

g.drawImage(HorseMidlet.imgTrainTop[0],10,10,g.LEFT|g.TOP);
g.drawImage(HorseMidlet.imgTrainBack[0],10,26,g.LEFT|g.TOP);



g.drawImage(HorseMidlet.imgTextShort[0],10,130,g.LEFT|g.TOP);
g.drawImage(HorseMidlet.imgTextLong[0],40,130,g.LEFT|g.TOP);
g.drawImage(HorseMidlet.imgTextRst[0],70,130,g.LEFT|g.TOP);
g.drawImage(HorseMidlet.imgTextBackMenu_off[0],100,130,g.LEFT|g.TOP);


if(HorseMidlet.substate==0)
g.drawImage(HorseMidlet.imgTextShort[1],10,130,g.LEFT|g.TOP);
else if(HorseMidlet.substate==1)
g.drawImage(HorseMidlet.imgTextLong[1],40,130,g.LEFT|g.TOP);
else if(HorseMidlet.substate==2)
g.drawImage(HorseMidlet.imgTextRst[1],70,130,g.LEFT|g.TOP);
else if(HorseMidlet.substate==3)
g.drawImage(HorseMidlet.imgTextBackMenu[0],100,130,g.LEFT|g.TOP);

break;
case HorseMidlet.GAME_STATE_TRAINING_SHORT:
g.setColor(255,180,0);
g.fillRect(0,0,getCanvasWidth(),getCanvasHeight());

g.drawImage(HorseMidlet.imgTrainTop[0],10,10,g.LEFT|g.TOP);
g.drawImage(HorseMidlet.imgTrainRunning[0],10,26,g.LEFT|g.TOP)
;

ReadyToSleep++;
if(ReadyToSleep==1)
{
repaint();

}
else if(ReadyToSleep==2) {
ReadyToSleep=0;

try
{

Thread.sleep(3000);
HorseMidlet.gamestate=HorseMidlet.GAME_STATE_TRAINING;

repaint();

}
catch(InterruptedException ie)
{
System.out.println(ie.toString());
}
}


break;

case HorseMidlet.GAME_STATE_TRAINING_LONG:
g.setColor(255,180,0);
g.fillRect(0,0,getCanvasWidth(),getCanvasHeight());

g.drawImage(HorseMidlet.imgTrainTop[0],10,10,g.LEFT|g.TOP
);
g.drawImage(HorseMidlet.imgTrainRunning[0],10,26,g.LEFT|g.
TOP);
ReadyToSleep++;
if(ReadyToSleep==1)
{
repaint();

}
else if(ReadyToSleep==2) {
ReadyToSleep=0;

try
{

Thread.sleep(3000);
HorseMidlet.gamestate=HorseMidlet.GAME_STATE_TRAINING;

repaint();

}
catch(InterruptedException ie)
{
System.out.println(ie.toString());
}
}

break;
case HorseMidlet.GAME_STATE_TRAINING_REST:
g.setColor(255,180,0);
g.fillRect(0,0,getCanvasWidth(),getCanvasHeight());

g.drawImage(HorseMidlet.imgTrainTop[0],10,10,g.LEFT|g.TOP);

g.drawImage(HorseMidlet.imgTrainRest[0],10,26,g.LEFT|g.TOP);


ReadyToSleep++;
if(ReadyToSleep==1)
{
repaint();

}
else if(ReadyToSleep==2) {
ReadyToSleep=0;

try
{

Thread.sleep(3000);
HorseMidlet.gamestate=HorseMidlet.GAME_STATE_TRAINING;

repaint();

}
catch(InterruptedException ie)
{
System.out.println(ie.toString());
}
}


break;
*/
}
}

private void drawAnimation(Graphics gr)
{
Graphics g=gr;
if(this.isDoubleBuffered())
{
g=graphics;
}

try
{
myHorseRacing.setFrame();
myHorseRacing.draw(g);
gr.drawImage(buffer,0,0,g.TOP|g.LEFT);

}
catch(Exception e)
{
System.out.println("drawAnimation Error: "+e.toString());
}
}

public void commandAction(Command c, Displayable d)
{
//if any Exit key is pressed then exit
if(c==exit)
{
midlet.exitMidlet();
}
// else if(c==memory)
else if (c == newGame)
{
// midlet.startApp();
HorseMidlet.gamestate=HorseMidlet.GAME_STATE_START;
HorseMidlet.substate=0;

HorseMidlet.difficulty=10;
// HorseMidlet.gamestate=0;
HorseMidlet.substate=0;
HorseMidlet.mytotalmoney=1000;
HorseMidlet.firstlot_no=0;
HorseMidlet.firstlot_money=50;
HorseMidlet.secondlot_no=1;
HorseMidlet.secondlot_money=50;

// HorseMidlet.myhorse=new HorseX(30,40,50,9);
myHorseRacing.init();

/* imgMenu=new Image[1];
imgDot= new Image[1];

imgMenu=HorseMidlet.getImages("menu",1);
System.out.println("Free memory: MENU"+Runtime.getRuntime().freeMemory()
);
imgDot=HorseMidlet.getImages("bluedot",1);
System.out.println("Free memory: BLUEDOT"+Runtime.getRuntime().freeMemor
y());*/

stop();
// sumTemp = 1;
repaint();
// c = null;
}
}
protected void keyPressed(int keyCode)
{
// can't continue playing until the player restarts


int gameAction = getGameAction(keyCode);

switch (gameAction)
{
case FIRE:
if (HorseMidlet.gamestate==HorseMidlet.GAME_STATE_START)
{
if(HorseMidlet.substate==0)
{
HorseMidlet.gamestate=HorseMidlet.GAME_STATE_LOT;
HorseMidlet.mytotalmoney-=HorseMidlet.firstlot_money;
}
else if(HorseMidlet.substate==1)//introduce
{
HorseMidlet.gamestate=HorseMidlet.GAME_STATE_INTRO;
Intro_pos=0;
HorseMidlet.substate=0;
}
else if(HorseMidlet.substate==2)//exit
midlet.exitMidlet();

}
else if (HorseMidlet.gamestate==HorseMidlet.GAME_STATE_INTRO)
{
HorseMidlet.gamestate=HorseMidlet.GAME_STATE_START;
HorseMidlet.substate=0;

}
else if (HorseMidlet.gamestate==HorseMidlet.GAME_STATE_RACINGEND)

{
myHorseRacing.init();

HorseMidlet.gamestate=HorseMidlet.GAME_STATE_LOT;
HorseMidlet.mytotalmoney-=HorseMidlet.firstlot_money;
HorseMidlet.substate=0;

}

else if (HorseMidlet.gamestate==HorseMidlet.GAME_STATE_LOT)
{

if(HorseMidlet.substate==2)
{
HorseMidlet.gamestate=HorseMidlet.GAME_STATE_RACING;
HorseMidlet.horseruningspeed=HorseMidlet.MAX_SPEED;
HorseMidlet.screenscroll=0;
HorseMidlet.trainingtime=0;
HorseMidlet.beginwait=0;
HorseMidlet.showbeginbar=1; //show it
HorseMidlet.racingend=-1;//just begin
start();//start a animation thread;
}
if(HorseMidlet.substate<2)
HorseMidlet.substate++;
if(HorseMidlet.substate==1)
{
HorseMidlet.secondlot_money=HorseMidlet.BIT_LOT_MONEY;
HorseMidlet.mytotalmoney-=HorseMidlet.secondlot_money;
HorseMidlet.secondlot_no=HorseMidlet.firstlot_no+1;
if(HorseMidlet.secondlot_no>7)
HorseMidlet.secondlot_no=0;
}

if(HorseMidlet.substate==3)//reset
{
HorseMidlet.mytotalmoney= HorseMidlet.mytotalmoney+
HorseMidlet.firstlot_money+
HorseMidlet.secondlot_money-
HorseMidlet.BIT_LOT_MONEY;
HorseMidlet.firstlot_money=HorseMidlet.BIT_LOT_MONEY;
HorseMidlet.firstlot_no=0;
HorseMidlet.substate=0;
}
if(HorseMidlet.substate==4)//back
{
HorseMidlet.mytotalmoney= HorseMidlet.mytotalmoney+
HorseMidlet.firstlot_money+
HorseMidlet.secondlot_money;
HorseMidlet.firstlot_money=HorseMidlet.BIT_LOT_MONEY;
HorseMidlet.firstlot_no=0;
HorseMidlet.gamestate=HorseMidlet.GAME_STATE_START;
HorseMidlet.substate=0;
}

}
else if (HorseMidlet.gamestate==HorseMidlet.GAME_STATE_TRAINING)
{
if(HorseMidlet.substate==0)
HorseMidlet.gamestate=HorseMidlet.GAME_STATE_TRAINING_SHORT;
else if(HorseMidlet.substate==1)
HorseMidlet.gamestate=HorseMidlet.GAME_STATE_TRAINING_LONG;
else if(HorseMidlet.substate==2)
HorseMidlet.gamestate=HorseMidlet.GAME_STATE_TRAINING_REST;
else
{
HorseMidlet.gamestate = HorseMidlet.GAME_STATE_START;
HorseMidlet.substate=0;
}

}

sumTemp = 0;

break;

case RIGHT:
if (HorseMidlet.gamestate==HorseMidlet.GAME_STATE_LOT)
{
if (HorseMidlet.substate == 0) { //the first lot
if (lot_select == 0) {
HorseMidlet.firstlot_no++;
if (HorseMidlet.firstlot_no > 7)
HorseMidlet.firstlot_no = 0;
}
else {
if (HorseMidlet.mytotalmoney >= HorseMidlet.BIT_LOT_MONEY) {

HorseMidlet.firstlot_money += HorseMidlet.BIT_LOT_MONEY;
HorseMidlet.mytotalmoney -= HorseMidlet.BIT_LOT_MONEY;
}
}

}
if (HorseMidlet.substate == 1) { //the second lot
if (lot_select == 0) {
HorseMidlet.secondlot_no++;
if (HorseMidlet.secondlot_no == HorseMidlet.firstlot_no)
HorseMidlet.secondlot_no++;
if (HorseMidlet.secondlot_no > 7) {
HorseMidlet.secondlot_no = 0;
if (HorseMidlet.secondlot_no == HorseMidlet.firstlot_no)
HorseMidlet.secondlot_no++;

}
}
else {
if (HorseMidlet.mytotalmoney >= HorseMidlet.BIT_LOT_MONEY) {

HorseMidlet.secondlot_money += HorseMidlet.BIT_LOT_MONEY;
HorseMidlet.mytotalmoney -= HorseMidlet.BIT_LOT_MONEY;
}
}

}
}
else if (HorseMidlet.gamestate==HorseMidlet.GAME_STATE_TRAINING)
{
HorseMidlet.substate=(HorseMidlet.substate+1)%4;

}

break;

case DOWN:
if (HorseMidlet.gamestate==HorseMidlet.GAME_STATE_START)
{
HorseMidlet.substate++;
if(HorseMidlet.substate>=3)
HorseMidlet.substate=0;
// repaint();

}
else if (HorseMidlet.gamestate==HorseMidlet.GAME_STATE_LOT)
{
if(HorseMidlet.substate>=2)
{
HorseMidlet.substate++;
if(HorseMidlet.substate>4)
HorseMidlet.substate=2;
}
else
{
if(lot_select==0)
lot_select=1;
else
lot_select=0;

}
}



break;

case LEFT:

if (HorseMidlet.gamestate==HorseMidlet.GAME_STATE_LOT)
{
if (HorseMidlet.substate == 0) { //the first lot
if (lot_select == 0) {
HorseMidlet.firstlot_no--;
if (HorseMidlet.firstlot_no <0 )
HorseMidlet.firstlot_no = 7;
}
else {
if (HorseMidlet.firstlot_money > HorseMidlet.BIT_LOT_MONEY) {

HorseMidlet.firstlot_money -= HorseMidlet.BIT_LOT_MONEY;
HorseMidlet.mytotalmoney += HorseMidlet.BIT_LOT_MONEY;
}
}

}
if (HorseMidlet.substate == 1) { //the second lot
if (lot_select == 0) {
HorseMidlet.secondlot_no--;
if (HorseMidlet.secondlot_no == HorseMidlet.firstlot_no)
HorseMidlet.secondlot_no--;
if (HorseMidlet.secondlot_no <0) {
HorseMidlet.secondlot_no = 7;
if (HorseMidlet.secondlot_no == HorseMidlet.firstlot_no)
HorseMidlet.secondlot_no--;

}
}
else {
if (HorseMidlet.secondlot_money > HorseMidlet.BIT_LOT_MONEY) 
{
HorseMidlet.secondlot_money -= HorseMidlet.BIT_LOT_MONEY;
HorseMidlet.mytotalmoney += HorseMidlet.BIT_LOT_MONEY;
}
}

}
}
else if (HorseMidlet.gamestate==HorseMidlet.GAME_STATE_TRAINING)
{
HorseMidlet.substate=(HorseMidlet.substate+3)%4;

}



break;

case UP:
if (HorseMidlet.gamestate==HorseMidlet.GAME_STATE_START)
{
HorseMidlet.substate--;
if(HorseMidlet.substate<0)
HorseMidlet.substate=2;
}
else if (HorseMidlet.gamestate==HorseMidlet.GAME_STATE_LOT)
{
if(HorseMidlet.substate>=2)
{
HorseMidlet.substate--;
if(HorseMidlet.substate<2)
HorseMidlet.substate=4;
}
else
{
if(lot_select==0)
lot_select=1;
else
lot_select=0;
}

}
repaint();

break;

default:
break;
}
repaint();
}


}









package HorseClub;


import javax.microedition.lcdui.*;

public class RaceGround{

private static int imageWidth, imageHeight;
private static int tileWidth, tileHeight;
private static int imageSkyWidth, imageSkyHeight;
private static int tileSkyWidth, tileSkyHeight;
private static int canvasWidth, canvasHeight;
private Image[] images;
private final String BACKGROUND_NAME="raceground";
private final int BACKGROUND_FRAMES=1;
private final String SKY_NAME="racesky";
private final int SKY_FRAMES=1;

private Image[] imgTile=new Image[BACKGROUND_FRAMES];
private Image[] imgSkyTile=new Image[SKY_FRAMES];

private static Image imgBackground;
private static Image imgSky;
private static int xBackground, yBackground,xSky;
int yStart=30;
int ySkyStart=0;


public RaceGround()
{

// load the images from the .jar
imgTile=getImages(BACKGROUND_NAME,BACKGROUND_FRAMES);
imgSkyTile=getImages(SKY_NAME,SKY_FRAMES);

// set the canvas measurements to local class variables.
canvasWidth=(HorseCanvas.getCanvasWidth());
canvasHeight=(HorseCanvas.getCanvasHeight());

//prepare the background paras
// all character frame images are assumed
// to be the same height and width
tileWidth=imgTile[0].getWidth();
tileHeight=imgTile[0].getHeight();

// set the background image dimensions
imageWidth=((canvasWidth/tileWidth)*tileWidth)+(tileWidth*2);
imageHeight=tileHeight;//((canvasWidth/tileHeight)*tileHeight)+tileHeight;



//prepare the sky paras
tileSkyWidth=imgSkyTile[0].getWidth();
tileSkyHeight=imgSkyTile[0].getHeight();

// set the background image dimensions
imageSkyWidth=((canvasWidth/tileSkyWidth)*tileSkyWidth)+(tileSkyWidth*2);

imageSkyHeight=tileSkyHeight;


init();

}
public void init()
{
xBackground=0;
yBackground=-tileHeight;
xSky=0;
ySkyStart=0;
createImage();
createSkyImage();
setImage();


}
public Image getImage(){return imgBackground;}
public Image getSkyImage(){return imgSky;}


public void draw(Graphics g)
{
g.drawImage(getImage(),xBackground,yStart,g.LEFT|g.TOP);
g.drawImage(getSkyImage(),xSky,ySkyStart,g.LEFT|g.TOP);
}

public void setPosition(int offset)
{
//move the background to provide animation of moving landscape.
boolean reset=false;

// if the image exceeds the x-axis then reset it
// and set the starting point for the next row in the image array
// set the redraw flag for redrawing the image
xBackground=xBackground-offset;
if(xBackground<=-tileWidth)
{
xBackground=0;
reset=true;
}
xSky=xSky-1;
if(xSky<=-tileSkyWidth)
{
xSky=0;
reset=true;
}


// if the images exceeds the y-axis then reset it
// and set the stating point for the next column in the image array
// set the redraw flag for redrawing the image
//if(++yBackground==0)
//{
// yBackground=-tileHeight;
// if(--xStart<0)
// {
// xStart=9;
// }
// reset=true;
//}

// redraw the background image if reset=true
if(reset)
{
// setImage();
}
}

private static void createImage()
{
// allocate memory to store the onscreen background image.
// assuming all tiles are the same size, make the buffer
// the screen size plus one row and column.
imgBackground=Image.createImage(imageWidth, imageHeight);
}

private static void createSkyImage()
{
// allocate memory to store the onscreen background image.
// assuming all tiles are the same size, make the buffer
// the screen size plus one row and column.
imgSky=Image.createImage(imageSkyWidth, imageSkyHeight);
}


public void setImage()
{
Graphics g = imgBackground.getGraphics();
Graphics gSky = imgSky.getGraphics();

int currentWidth=0;
int currentHeight=(imageHeight-tileHeight);

// draw the tiles within the bounds of the allocated image buffer
// draw from the starting from the current position within the image array
.
while (currentHeight>=0)
{
while (currentWidth {
g.drawImage(imgTile[0],currentWidth,currentHeight,g.LEFT | g.TOP);
currentWidth+=tileWidth;
}

currentWidth=0;
currentHeight-=tileHeight;
}

//Title the Sky

currentWidth=0;
currentHeight=(imageSkyHeight-tileSkyHeight);

while (currentHeight>=0)
{
while (currentWidth {
gSky.drawImage(imgSkyTile[0],currentWidth,currentHeight,g.LEFT | g.TOP);

currentWidth+=tileSkyWidth;
}

currentWidth=0;
currentHeight-=tileSkyHeight;
}


}

private Image[] getImages(String imgName, int frames)
{
return HorseMidlet.getImages(imgName, frames);
}
}


圣域飞侠 2007-04-02 10:46 发表评论
]]>
看看你的密码http://www.aygfsteel.com/yeiwei/archive/2007/03/30/107453.html圣域飞侠圣域飞侠Fri, 30 Mar 2007 04:00:00 GMThttp://www.aygfsteel.com/yeiwei/archive/2007/03/30/107453.htmlhttp://www.aygfsteel.com/yeiwei/comments/107453.htmlhttp://www.aygfsteel.com/yeiwei/archive/2007/03/30/107453.html#Feedback0http://www.aygfsteel.com/yeiwei/comments/commentRss/107453.htmlhttp://www.aygfsteel.com/yeiwei/services/trackbacks/107453.htmlA ?x)选用生日或自家电(sh)话号码来当密码的人,其实是很好搞定的׃hQ不难追Q挑战性也不强Q因ZQ她Q心里在打什么主意,相处一D|_(d)可以掌握到八九(ji)分,剩下那一两分Q也是虽不中Q亦不远矣。所以这cMh要是有爱情走U或是搞|很快׃(x)被爱人发现到一些蛛丝马qV?br>
  B q类׃h戒心很重Q所以徏立在二h情感关系上的信QQ将是最重要的关键。喜Ƣ观察对方,甚至Z试来考验Ҏ(gu)Q不时考虑双方的适合E度Q如果没有得C任,两h的关pd无法有进一步的H破Q你也不?x)是他(她)惌共度一生的伴G?br>
  C q类人变化没有规则可aQ连他(她)自己都无法控制。要讨好q种׃hQ是高难度的挑战Q因他(她)都不知要的到底是什么,自己都头痛,׃h当然更头痛,今天适用的招敎ͼ明天可能失效了。所以要对付q种׃hQ最好的对策是以不变应万变Q管他(她)如何变,反正L一天又?x)变回来Q而你的不变,y妙地创造了安全感?br>
  D q类人内心较为复杂,惛_很多Q爱变也喜欢变,老是?x)想如何让h猜不透。想要追上他Q她Q,最佳的Ҏ(gu)Q是有时要能一针见血Q掌握对方的xQ有时即使知道,也是要装M下,让他们有Ҏ(gu)感Q又不会(x)觉得你太蠢,MƲ擒故纵对了。如果你q有本事Q能在下半生常常出点花招Q他(她)猜不透你的想法,那你成功大半了?/font>

圣域飞侠 2007-03-30 12:00 发表评论
]]>
C#和ASP.Net面试题目集锦http://www.aygfsteel.com/yeiwei/archive/2007/03/30/107439.html圣域飞侠圣域飞侠Fri, 30 Mar 2007 03:35:00 GMThttp://www.aygfsteel.com/yeiwei/archive/2007/03/30/107439.htmlhttp://www.aygfsteel.com/yeiwei/comments/107439.htmlhttp://www.aygfsteel.com/yeiwei/archive/2007/03/30/107439.html#Feedback0http://www.aygfsteel.com/yeiwei/comments/commentRss/107439.htmlhttp://www.aygfsteel.com/yeiwei/services/trackbacks/107439.html2.AcLBcȝ基类,q且都有自己的构?析构函数,请D例证明BcM实例化到消亡q程中构?析构函数的执行过E?请附code
3.什么叫应用E序域?什么是受管制的代码Q什么是强类型系l?
4..Net中读写数据库需要用到哪些类Q他们的作用
5.ASP.net的n份验证方式有哪些Q分别是什么原理?
6.解释一下UDDI、WSDL的意义及(qing)其作用?br>7.常用的调用webserviceҎ(gu)有哪些?
8.讲一讲你理解的web service,在dot net framework中,怎么很好的结合xml?Q讲概念p了)
9.C#可否对内存进行直接的操作Q?q可是个隄哦?要注意!Q?如果?如何操作;如果不能,Z?
10.描述一下C#中烦引器的实现过E,是否只能Ҏ(gu)数字q行索引Q?

1.面向对象的思想主要包括什么?
面向对象三大特征:l承,套,多?面相对象的思想也不是一句两句就能说清楚..主要思想是减少代码重复,增大代码复用?.

2.什么是ASP.net中的用户控g
问这L(fng)问题,一般是qh?因ؓ(f)新手q是分不清楚用户控g和服务器控g(也称自定义控?..用户控g一般用在内容多为静?或者少怼(x)改变的情况下..用的比较?.cMASP中的include..但是功能要强大的?.

如果现有?ASP.NET 服务器控仉不符合应用程序的特定要求Q则可以创徏装所需功能?Web 用户控g?Web 自定义控件。这两种控g之间的主要区别在于设计时的易创徏性与易用性?/p>

Web 用户控g易于创徏Q但它们在高U方案中使用h可能不太方便。开?Web 用户控g的方式与开?Web H体늚方式几乎完全相同。与 Web H体怼Q用h件可以在可视化设计器中创建,可以使用?HTML 隔离的代码来~写Qƈ且可以处理执行事件。但是,׃ Web 用户控g在运行时动态地q行~译Q所以不能将它们d到工L(fng)中,而且它们在添加到面上时q单的占位W标志符h表示。如果?zhn)习(fn)惯于完全?Visual Studio .NET 设计时支持(包括“属?#8221;H口?#8220;设计”视图预览Q,q将?x)?Web 用户控g使用h更不方便?此外Q在应用E序之间׃n用户控g的唯一方式是将一个单独的副本攑օ每个应用E序Q因此如果对该控件作Z更改Q将需要进行比较多的维护?/p>

Web 自定义控件是~译的代码,q?Web 自定义控件更易于使用但更难于创徏QWeb 自定义控件必M用代码来创徏。一旦创控gQ那么,(zhn)就可以其d到工L(fng)中,q在h完全“属?#8221;H口支持?ASP.NET 服务器控件的其他所有设计时功能的可视化设计器中昄该控件。此外,q可以在全局E序集缓存中安装 Web 自定义控件的单个副本Qƈ在应用程序之间共享该副本Q这ɾl护变得更容易。有x多信息,请参阅全局E序集缓存?br>如果(zhn)的控g包含大量静态布局Q用h件则可能是较佳的选择。如果?zhn)的控件主要是动态生成的Q例如数据绑定表的行、树(wi)视图的节Ҏ(gu)选项?(TabControl) 控g的选项卡)Q自定义控g则可能是较佳的选择?/p>

下表概述了这两种cd之间的主要区别:(x)
Web 用户控g
1.难于创徏
2.Z用可视化设计工具的用者提供有限的支持
3. 每个应用E序中需要控件的一个单独副?br>4. 不能d?Visual Studio 中的工具?br>5. 适用于静态布局
Web 自定义控?br>1.易于创徏
2. Z用者提供完全的可视化设计工h?br>3. 仅在全局E序集缓存中需要控件的单个副本
4. 可以d?Visual Studio 中的工具?br>5. 适用于动态布局


3.什么叫应用E序域?什么是受管制的代码Q什么是强类型系l?什么是装箱和拆?什么是重蝲QCTS、CLS和CLR分别作何解释Q?br>q个需要当前描qC..东西太多..打字要打M..找个比较单的说说?
CTS:公共cdpȝ.主要是ؓ(f)了语a之间的进行标准化处理.
CLS:公共语言规范.主要是确保代码可以在M语言中访问的最标准集?br>CLR:公共语言q行?主要是管理代?.处理,加蝲代码,以及(qing)所有服务的代码

4.列D一下你所了解的XML技术及(qing)其应?br>xml用于配置,用于保存静态数据类?接触XML最多的是web Services..和config

5.值类型和引用cd的区别?写出C#的样例代码?br>值类型是在内存中保存,引用cd是在内存中保存一副本.你在内存中可以有多个某种引用对象..但是值类型始l只有一?
最常见的值类型就是static,struct;
例如:
static int aa = 1;//值类?br>如果多个用户改变aa的值则,aa的g(x)以最后一个修改的记录为准.其他人的修改则会(x)被冲?
引用cd,最能说明问题的是实例?.你new出来的对象单独分配一个独立的内存..所以g?x)互相冲H?

数据成员可以分静态变量、非静态变量两U?
 静态成员:(x)静态类中的成员加入static修饰W?x静态成?可以直接使用cd+静态成员名讉K此静态成?因ؓ(f)静态成员存在于内存,非静态成员需要实例化才会(x)分配内存,所以静态成员不能访问非静态的成员..因ؓ(f)静态成员存在于内存,所以非静态成员可以直接访问类中静态的成员.
 
 非成静态员Q所有没有加Static的成员都是非静态成?当类被实例化之后,可以通过实例化的cdq行讉K..非静态成员的生存期决定于该类的生存期..而静态成员则不存在生存期的概?因ؓ(f)静态成员始l驻留在内容?.
 
 一个类中也可以包含静态成员和非静态成?cM也包括静态构造函数和非静态构造函?.
 
 对于winApp来说,静态成员对于程序员本n省了很多?而且因ؓ(f)静态成员驻留内?在方法与Ҏ(gu)之间传递共享数据的时?所以静态成员成了我的首?.但是不要因ؓ(f)方便,大量使用,其是在内存紧张或?br> 用静态方法操作一些共享值的时?或者要写多用户pȝ的时?要慎之又?比如:
 static int id = 0;
 sql = "select * from table where id=" + id;l

6.ADO.net中常用的对象有哪些?分别描述一下?br>Connection 数据库连接对?br>Command 数据库命?br>DataReader 数据d?br>DataSet 数据?/p>

7.如何理解委托Q?br>委托的概?最好的说明是事g.因ؓ(f)事g使用的就是委?例如:this.Load += new System.EventHandler(this.Page_Load);q个是使用了一个委?
具体的用法请参?我以前的帖子,设计猫鼠联动..

8.C#中的接口和类有什么异同?br>cLҎ(gu)功能的实现和集合,接口是规范类.U束c?
参考我的文?http://lixianhuei.cnblogs.com/archive/2005/08/04/207123.html

9.。net中读写数据库需要用到哪些类Q他们的作用
看第六题..{案差不?/p>

10.UDPq接和TCPq接的异同?br>q个说不清楚.

11.ASP.net的n份验证方式有哪些Q分别是什么原理?
window验证:为每个用户开启window帐号,验证其n?安全性较?
forms验证:为每个登陆用户写入一个n份验证票?.在web使用最q的验证方式..灉|方便.

12.q程和线E分别怎么理解Q?br>q个是新人最Ҏ(gu)qh的东?.
q程:Process

13.什么是code-Behind技术?br>新徏一个VS.NET下的目..看到ASPX,RESX和CS三个后缀的文件了??q个是代码分离.实现了HTML代码和服务器代码分离.方便代码~写和整?

14.zd目录的作用?br>zd目录是window2000的最重要的功?可以用户信息全部集成v?登陆以后可以讉K多个不同的网l服?.没深入研I过.
查看一下帖?http://www.ies.impu.edu.cn/resource/os/windowsx/WindowsGeneral/WinGeneral0008.htm

15..net中读写XML的类都归属于哪些命名I间Q?br>System.XMLc?/p>

16.解释一下UDDI、WSDL的意义及(qing)其作用?br>解释不清楚了..又是一大块..

17.什么是SOAP,有哪些应用?br>simple object access protocal,单对象接受协?以xml为基本编码结?建立在已有通信协议?如http,不过据说ms在搞最底层的架构在tcp/ip上的soap)的一U规?br>是微软大力推q的Web Service使用的协?.

18.如何部v一个ASP.net面?br>不清楚问的什么意?..如果非要回答的话,写一个带.aspx的后~文g..然后安装IIS和FrameWork环境..览好?

19.如何理解.net中的垃圾回收机制?br>垃圾回收体制如下:
如果发现内存不够,则垃圑֛收器,全部对象作为无效对?被回收对?,然后先将全局变量,static,处于zd中的局部变?以及(qing)当前CG指针指向的对象放入一个表?然后
?x)搜索新列表中的对象所引用的对?加入列表?其他没有被加入列表的对象都会(x)被回?

20.常用的调用webserviceҎ(gu)有哪些?
我一般用的是WSDL..或者web引用..
 
 
 

1.new有几U用?/p>

W一U?new Class();

W二U?覆盖Ҏ(gu)

public new XXXX(){}

W三U?new U束指定泛型cd明中的Q何类型参数都必须有公q无参数构造函数?/p>

2.如何把一个array复制到arrayList?/p>

foreach( object o in array )arrayList.Add(o);

3.datagrid.datasouse可以q接什么数据源 [dataset,datatable,dataview]

dataset,datatable,dataview , IList

4.概述反射和序列化

反射:E序集包含模块,而模块包含类型,cd又包含成员。反则提供了封装程序集、模块和cd的对象。?zhn)可以使用反射动态地创徏cd的实例,类型绑定到现有对象Q或从现有对象中获取cd。然后,可以调用cd的方法或讉K其字D和属?/p>

序列?序列化是对象{换ؓ(f)Ҏ(gu)传输的格式的q程。例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客L(fng)和服务器之间传输该对象。在另一端,反序列化从该流重新构造对象?/p>

5.概述o/r mapping 的原?/p>

利用反射Q配|?类于数据库表映?/p>

6.cL员有( )U可讉K形式

可访问Ş式?不懂?/p>

可访问性:(x)public ,protected ,private,internal

7.用sealed修饰的类有什么特?/p>

sealed 修饰W用于防止从所修饰的类z出其它类。如果一个密类被指定ؓ(f)其他cȝ基类Q则?x)发生编译时错误?/p>

密封cM能同时ؓ(f)抽象cR?/p>

sealed 修饰W主要用于防止非有意的派生,但是它还能促使某些运行时优化。具体说来,׃密封cLq不?x)有Mzc,所以对密封cȝ实例的虚拟函数成员的调用可以转换为非虚拟调用来处理?/p>

8.列DADO.NET中的五个主要对象Qƈ单描q?/p>

connection,command,dataReader,trans,dataset ...

9.执行下面代码后:(x)

String strTemp ="abcdefg 某某?Q?/p>

Int i System.Text.Encoding.Default.GetBytes(strTemp).Length;

Int j = strTemp.Length;

问:(x)i=(14 ) Qj=(11 )

i=(14 ) Qj=(11 ) 中文两个字节

10.C#中,string str = null ?string str =""Q请量用文字说明区别?要点Q说明详l的内存I间分配)

string str ="" 分配I间

11.详述.NET里class和struct的异同!

class:攑֜ ? struct攑֜Q?/p>

structg?/p>

cMl构有很多相g处:(x)l构可以实现接口Qƈ且可以具有与cȝ同的成员cd。然而,l构在几个重要方面不同于c:(x)l构为值类型而不是引用类型,q且l构不支持ѝ结构的值存储在“在堆栈上”?#8220;内联”。细心的E序员有时可以通过聪明C用结构来增强性能?/p>

12.概述.NET里对 remoting ?webservice 两项技术的理解和实际中的应用?/p>

q程逻辑调用Qremoing接口只能用在.net?/p>

13.什么是code-behind技?/p>

aspx and cs

14.概述三层l构体系

web/business/dataaccess

15.asp.net如何实现MVC模式QD例说明!

web/business/dataaccess

----------------------------------------------------------------------------------------------------------

1.面向对象的思想主要包括什么?

{?q个题范围太q?不知道说什?

2.什么是ASP.net中的用户控g

{?用户控g是.ascx扩展名的东西?可以拖到不同的页面中调用,以节省代?比如登陆可能在多个页面上?可以做成用h?但是有一个问题就是用h件拖C同别的目录下后里面的图片等的相对\径会(x)变得不准?需要自已写Ҏ(gu)调整.

3.什么叫应用E序域?什么是受管制的代码Q什么是强类型系l?什么是装箱和拆?什么是重蝲QCTS、CLS和CLR分别作何解释Q?/p>

{?装箱是把值类型{成引用类?从MS IL角度看好像是boxing,没记错的话是把g堆栈转到堆中.拆箱相反,重蝲是指一个方法名?参数个数不同,q回值可以相同的Ҏ(gu).CLR是通用语言q行?其它的不清楚.

4.列D一下你所了解的XML技术及(qing)其应?/p>

{?XML可是好东?保存配置,站与站之间的交流,WEB SERVICE都要用它.

5.值类型和引用cd的区别?写出C#的样例代码。答:l构是值类?cL引用cd,所以传l构是值类型的应用?传对象或cd是引用类型的,q个不用多写了吧.

 

6.ADO.net中常用的对象有哪些?分别描述一下?/p>

{?connection command sqladapter dataset datatable dataview{等.写不完了.

7.如何理解委托Q?/p>

{?据说相当于函数指?定义了委托就可以在不调用原方法名U的情况下调用那个方?

msdn2005中是q样解释?

委托h以下特点Q?/p>

委托cM?C++ 函数指针Q但它是cd安全的?/p>

委托允许方法作为参数进行传递?/p>

委托可用于定义回调方法?/p>

委托可以链接在一P例如Q可以对一个事件调用多个方法?/p>

Ҏ(gu)不需要与委托{֐_匚w。有x多信息,请参见协变和逆变?/p>

C# 2.0 版引入了匿名Ҏ(gu)的概念,此类Ҏ(gu)允许代码块作ؓ(f)参数传递,以代替单独定义的Ҏ(gu)?/p>

8.C#中的接口和类有什么异同?/p>

{?q个异同可多?要说清楚q真不容?

9.。net中读写数据库需要用到哪些类Q他们的作用

{?q个c自已可以写的啊,你是指基cd?那configuration,sqlconnection,sqlcommand{都要用?

10.UDPq接和TCPq接的异同?/p>

{?前者只传,不管数据C?无须建立q接.后者保证传输的数据准确,要q结.

11.ASP.net的n份验证方式有哪些Q分别是什么原理?{?form认证,windows集成认证{?原理不清?

 

12.q程和线E分别怎么理解Q?/p>

{?q程是老子,U程是儿?没有老子没有儿?一个老子可以有多个儿?一个儿子可以成为别人的儿子,一个老子也可以ؓ(f)别的老子生儿?

13.什么是code-Behind技术?/p>

{?代码分离,q是个明智的东西,像ASPq样h一堆很不爽.或者可以理解成HTML代码写在前台,C#代码写在后台.?/p>


 

 

ASP.NET面试的题?br>1。请要写Z对C#?qing)ASP的认识?/p>


2。怎么获得文g的当前\径(代码Q?/p>

3?请用ADO。NET 写出数据库连接开始事务处理,x据库q接Q代码)
 
       http://www.microsoft.com/china/MSDN/library/data/dataAccess/BestPractiCEs+forUsingADO.NET.mspx?mfr=true
http://www.microsoft.com/china/MSDN/library/enterprisedevelopment/builddistapp/PerformanCE+COMparison+Transaction+Control.mspx?mfr=true

4。在SQL语言中,如果要徏立一个工资表包含职工P姓名Q职U。工资等字段。若要保证工?字段 的取g低于800元,最合适的实现Ҏ(gu)是:(x)
A。在创徏工资表时?#8221;工资“字段建立~省
B。在创徏工资表时?#8221;工资“字段建立查约?br>C。在工资表徏立一个触发器
D。ؓ(f)工资表数据输入编写一个程序进行控?/p>

5。没有关键码序列QQ。G。M。Z。A。N。B。P。X。H。Y。S。L。T。K。EQ?br>采用二\归ƈ排序法进行排序,请写出第二趟归ƈ后的l果Q?/p>

6。创Z个新文本文gq向其写入一个字W串Q代码)

7。请使用正则表达式验证电(sh)子邮件地址的合法性(代码Q?/p>

8。如何设定DATAGRID中模板列?下拉列表默然|如何在编辑时Q让其绑定另一个表的数据ƈ自动讲当前D为默认?/p>

9。上机测试题目:(x)用户理中,用户验证Q用h加,用户删除功能Q采用ACCESS数据?br>Q时?0分钟Q?/p>


一、求2003q所有没有降雨的日期  
l果集:(x)日期
表名Qt_rain     降雨记录
表结构:(x)
fstartTimedatetime  (有时间信?  降雨开始时?br>fendTimedatetime 降雨l束旉  (可能跨日?

二、问{题
1.三只猫三分钟内可以捉三只老鼠Q一癑֏猫需要多久才能捉C癑֏老鼠?
2.有两枚硬币,共g元五角,其中一枚不是五角的币Q请问两枚硬币的面值各是多?
3.一个h购物׃了六元,雉比笔芯多五元Q笔芯h(hun)格是多少Q?br>4.有两人在路上赎ͼq轻的是q长的儿子,但年长的不是q轻的父Ԍq长的是谁?
5.一立方的z里有多垃圾?
6.一个男人和他遗孀的妹妹结婚是否合法?
7.一只猴子跌q三十尺q井里Q它每天朝上y三,但都滑下两尺Q依照这个速度Q猴子多天后会(x)y出井外Q?br>8.抽屉里有黑白袜子各十只,如果你在黑暗中手入抽屉Q最要取出几只才一定会(x)有一双颜色相同?
9.有三个苹果,你拿了两个,你共有多个Q?br>10.有h要赶火RQ只有两分钟旉Q但要走两里。如果第一里的速度是每时三十里,W二里的速度应该是多才能赶上这班火车?

三、分析:(x)Q除了答案,q需阐明思\Q:(x)
1?个v盗抢C100颗宝矻I每一颗都一L(fng)大小和h(hun)D城?
  他们军_q么分:(x)
  1。抽{ֆ定自qL(fng)Q?Q?Q?Q?Q?Q?
  2。首先,?h出分配方案,然后大家5行表冻I当且仅当半数和超q半数的人同意时Q按照他的提案进行分配,否则被扔入大v喂鲨鱹{?
  3。如?h后,再由2h出分配方案,然后大家4行表冻I当且仅当半数和超q半数的人同意时Q按照他的提案进行分配,否则被扔入大v喂鲨鱹{?
  4。依ơ类?.....
问题Q第一个v盗提出怎样的分配方案才能够使自q收益最大化
条gQ每个v盗都是很聪明的hQ都能很理智的判断得失,从而做出选择?/p>

5.有一张表Q表名:(x)Test
表结构:(x)
     id int
     name varchar(20)
有以下数据:(x)
    [id]    [name]
      1       aaa
      2       bbb
      3       aaa
      4       ccc
要求写一个查询语句,只显C[name]有重复的数据Q没有重复的不显C出来?/p>

 


传入某个属性的setҎ(gu)的隐含参数的名称是什么?
valueQ它的类型和属性所声名的类型相同?
如何在C#中实现承?
在类名后加上一个冒P再加上基cȝ名称?
C#支持多重l承么?
不支持。可以用接口来实现?
被protected修饰的属?Ҏ(gu)在何处可以访问?
在承或间接l承与这个类的子cM可以讉K?
U有成员?x)被l承么?
?x),但是不能被访问。所以看上去他们g是不能被l承的,但实际上实被承了?
hqC下修饰符protected internal?
被protected internal修饰的属?Ҏ(gu)只能在它的在同一个程序集QAssemblyQ中的子c被讉K?
C#提供一个默认的无参数构造函敎ͼ当我实现了另外一个有一个参数的构造函数时候,q想保留q个无参数的构造函数。这h应该写几个构造函敎ͼ
两个Q一旦你实现了一个构造函敎ͼC#׃?x)再提供默认的构造函CQ所以需要手动实现那个无参数构造函数?
C#中所有对象共同的基类是什么?
System.Object.
重蝲和覆写有什么区别?
重蝲提供了对一个方法签名的不同参数调用的实现。覆写提供了子类中改变父cL法行为的实现?
在方法定义中Qvirtual有什么含意?
被virtual修饰的方法可以被子类覆写?
能够非静态的Ҏ(gu)覆写成静态方法么Q?br>不能Q覆写方法的{֐必须与被覆写Ҏ(gu)的签名保持一_(d)除了virtual改ؓ(f)override?
可以覆写U有的虚Ҏ(gu)么?
不可以,甚至子类中无法访问父cM的私有方法?
能够L某一个类被其他类l承么?
可以Q用关键字sealed?
能够实现允许某个c被l承Q但不允许其中的某个Ҏ(gu)被覆写么Q?
可以Q标记这个类为publicQƈ标记q个Ҏ(gu)为sealed?
什么是抽象c(abstract classQ?
一U不可以被实例化的类。抽象类中一般含有抽象方法,当然也可有具体实现。承类只有实现q所有抽象类的抽象方法后才能被实例化?
何时必须声明一个类为抽象类Q?
当这个类中包含抽象方法时Q或是该cdƈ没有完全实现父类的抽象方法时?
接口QinterfaceQ是什么?
只含有共有抽象方法(public abstract methodQ的cR这些方法必d子类中被实现?
Z么不能指定接口中Ҏ(gu)的修饰符Q?
接口中的Ҏ(gu)用来定义对象之间通信的契U,指定接口中的Ҏ(gu)为私有或保护没有意义。他们默认ؓ(f)公有Ҏ(gu)?
可以l承多个接口么?
当然?
那么如果q些接口中有重复的方法名U呢Q?
q种情况中你可以军_如何实现。当焉要特别得心。但是在~译环节是没有问题的?
接口和抽象类的区别是什么?
接口中所有方法必L抽象的,q且不能指定Ҏ(gu)的访问修饰符。抽象类中可以有Ҏ(gu)的实玎ͼ也可以指定方法的讉K修饰W?
如何区别重蝲Ҏ(gu)Q?
不同的参数类型,不同的参C敎ͼ不同的参数顺序?
const和readonly有什么区别?
const关键字用来声明编译时帔RQreadonly用来声明q行时常量?
System.String 和System.StringBuilder有什么区别?
System.String是不可变的字W串。System.StringBuilder存放了一个可变的字符Ԍq提供一些对q个字符串修改的Ҏ(gu)

 

 

1.new有几U用?/p>

W一U?new Class();

W二U?覆盖Ҏ(gu)

public new XXXX(){}

W三U?new U束指定泛型cd明中的Q何类型参数都必须有公q无参数构造函数?/p>

2.如何把一个array复制到arrayList?/p>

foreach( object o in array )arrayList.Add(o);

3.datagrid.datasouse可以q接什么数据源 [dataset,datatable,dataview]

dataset,datatable,dataview , IList

4.概述反射和序列化

反射:E序集包含模块,而模块包含类型,cd又包含成员。反则提供了封装程序集、模块和cd的对象。?zhn)可以使用反射动态地创徏cd的实例,类型绑定到现有对象Q或从现有对象中获取cd。然后,可以调用cd的方法或讉K其字D和属?/p>

序列?序列化是对象{换ؓ(f)Ҏ(gu)传输的格式的q程。例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客L(fng)和服务器之间传输该对象。在另一端,反序列化从该流重新构造对象?/p>

5.概述o/r mapping 的原?/p>

利用反射Q配|?类于数据库表映?/p>

6.cL员有( )U可讉K形式

可访问Ş式?不懂?/p>

可访问性:(x)public ,protected ,private,internal

7.用sealed修饰的类有什么特?/p>

sealed 修饰W用于防止从所修饰的类z出其它类。如果一个密类被指定ؓ(f)其他cȝ基类Q则?x)发生编译时错误?/p>

密封cM能同时ؓ(f)抽象cR?/p>

sealed 修饰W主要用于防止非有意的派生,但是它还能促使某些运行时优化。具体说来,׃密封cLq不?x)有Mzc,所以对密封cȝ实例的虚拟函数成员的调用可以转换为非虚拟调用来处理?/p>


8.列DADO.NET中的五个主要对象Qƈ单描q?/p>

connection,command,dataReader,trans,dataset ...

9.执行下面代码后:(x)

String strTemp ="abcdefg 某某?Q?/p>

Int i System.Text.Encoding.Default.GetBytes(strTemp).Length;

Int j = strTemp.Length;

问:(x)i=(14 ) Qj=(11 )

i=(14 ) Qj=(11 ) 中文两个字节

10.C#中,string str = null ?string str =""Q请量用文字说明区别?要点Q说明详l的内存I间分配)

string str ="" 分配I间

11.详述.NET里class和struct的异同!

class:攑֜ ? struct攑֜Q?/p>

structg?/p>

cMl构有很多相g处:(x)l构可以实现接口Qƈ且可以具有与cȝ同的成员cd。然而,l构在几个重要方面不同于c:(x)l构为值类型而不是引用类型,q且l构不支持ѝ结构的值存储在“在堆栈上”?#8220;内联”。细心的E序员有时可以通过聪明C用结构来增强性能?/p>

12.概述.NET里对 remoting ?webservice 两项技术的理解和实际中的应用?/p>

q程逻辑调用Qremoing接口只能用在.net?/p>

13.什么是code-behind技?/p>

aspx and cs

14.概述三层l构体系

web/business/dataaccess

15.asp.net如何实现MVC模式QD例说明!

web/business/dataaccess

 

1.面向对象的思想主要包括什么?

{?q个题范围太q?不知道说什?

2.什么是ASP.net中的用户控g

{?用户控g是.ascx扩展名的东西?可以拖到不同的页面中调用,以节省代?比如登陆可能在多个页面上?可以做成用h?但是有一个问题就是用h件拖C同别的目录下后里面的图片等的相对\径会(x)变得不准?需要自已写Ҏ(gu)调整.

3.什么叫应用E序域?什么是受管制的代码Q什么是强类型系l?什么是装箱和拆?什么是重蝲QCTS、CLS和CLR分别作何解释Q?/p>

{?装箱是把值类型{成引用类?从MS IL角度看好像是boxing,没记错的话是把g堆栈转到堆中.拆箱相反,重蝲是指一个方法名?参数个数不同,q回值可以相同的Ҏ(gu).CLR是通用语言q行?其它的不清楚.

4.列D一下你所了解的XML技术及(qing)其应?br> 

{?XML可是好东?保存配置,站与站之间的交流,WEB SERVICE都要用它.

5.值类型和引用cd的区别?写出C#的样例代码?/p>

{?l构是值类?cL引用cd,所以传l构是值类型的应用?传对象或cd是引用类型的,q个不用多写了吧.

6.ADO.net中常用的对象有哪些?分别描述一下?/p>

{?connection command sqladapter dataset datatable dataview{等.写不完了.

7.如何理解委托Q?/p>

{?据说相当于函数指?定义了委托就可以在不调用原方法名U的情况下调用那个方?

msdn2005中是q样解释?

委托h以下特点Q?/p>

委托cM?C++ 函数指针Q但它是cd安全的?/p>

委托允许方法作为参数进行传递?/p>

委托可用于定义回调方法?/p>

委托可以链接在一P例如Q可以对一个事件调用多个方法?/p>

Ҏ(gu)不需要与委托{֐_匚w。有x多信息,请参见协变和逆变?/p>

C# 2.0 版引入了匿名Ҏ(gu)的概念,此类Ҏ(gu)允许代码块作ؓ(f)参数传递,以代替单独定义的Ҏ(gu)?/p>

8.C#中的接口和类有什么异同?/p>

{?q个异同可多?要说清楚q真不容?

9.。net中读写数据库需要用到哪些类Q他们的作用

{?q个c自已可以写的啊,你是指基cd?那configuration,sqlconnection,sqlcommand{都要用?

10.UDPq接和TCPq接的异同?/p>

{?前者只传,不管数据C?无须建立q接.后者保证传输的数据准确,要q结.

11.ASP.net的n份验证方式有哪些Q分别是什么原理?

{?form认证,windows集成认证{?原理不清?

12.q程和线E分别怎么理解Q?/p>

{?q程是老子,U程是儿?没有老子没有儿?一个老子可以有多个儿?一个儿子可以成为别人的儿子,一个老子也可以ؓ(f)别的老子生儿?

13.什么是code-Behind技术?/p>

{?代码分离,q是个明智的东西,像ASPq样h一堆很不爽.或者可以理解成HTML代码写在前台,C#代码写在后台.当然前台也有脚本,cȝ调用{?其实写在一起也是可以的.

14.zd目录的作用?/p>

{?q个不明?h白的补充一?

15..net中读写XML的类都归属于哪些命名I间Q?/p>

{?System.Xml

我自已写的就不一定了,嘿嘿.

16.解释一下UDDI、WSDL的意义及(qing)其作用?/p>

{?什么东?

17.什么是SOAP,有哪些应用?/p>

{?SOAPQSimple Object Access Protocol Q简单对象访问协议是在分散或分布式的环境中交换信息ƈ执行q程q程调用的协议,是一个基于XML的协议。用SOAPQ不用考虑M特定的传输协议(最常用的还是HTTP协议Q,可以允许Mcd的对象或代码Q在Mq_上,以Q何一直语a怺通信。这U相互通信采用的是XML格式的消?具体L(fng):http://playist.blogchina.com/2521621.html

18.如何部v一个ASP.net面?/p>

{?随便?想直接上传就直接上传,x包成EXE打?看个人喜?

19.如何理解.net中的垃圾回收机制?/p>

{?GC?对象创徏了总要清除?不然内存哪够?

20.常用的调用webserviceҎ(gu)有哪些?

{?调用p?q有很多Ҏ(gu)?

 

.netW试?/p>


姓名Q?nbsp;                     日期Q?/p>

1.      填空: (1)面向对象的语ah________性、_________性、________性?/p>

        (2)能用foreach遍历讉K的对象需要实?________________接口或声明________________Ҏ(gu)的类型?/p>

        (3)列DADO.net中的五个主要对象_______________、_____________、_______________、_______________、_________________?/p>

2. 不定w择Q?/p>

(1) 以下叙述正确的是Q?

      A. 接口中可以有虚方法?nbsp;    B. 一个类可以实现多个接口?br>      C. 接口不能被实例化?nbsp;      D. 接口中可以包含已实现的方法?/p>

   (2) 从数据库d记录Q你可能用到的方法有Q?/p>

      A. ExecuteNonQuery            B. ExecuteScalar

      C. Fill                        D. ExecuteReader

3. q?private?protected?public?internal 修饰W的讉K权限?/p>


4. 写出一条Sql语句Q?取出表A中第31到第40记录QSQLServer, 以自动增长的ID作ؓ(f)主键,  注意QID可能不是q箋的。)


5 .列DASP.NET 面之间传递值的几种方式?/p>


6. 写出E序的输出结?/p>

class Class1  {
       private string str = "Class1.str";
       private int i = 0;
       static void StringConvert(string str)  {
           str = "string being converted.";
       }
       static void StringConvert(Class1 c)  {
           c.str = "string being converted.";
       }
       static void Add(int i)  {
           i++;
       }
       static void AddWithRef(ref int i)  {
           i++;
       }
       static void Main()  {
           int i1 = 10;
           int i2 = 20;
           string str = "str";
           Class1 c = new Class1();
           Add(i1);
           AddWithRef(ref i2);
           Add(c.i);
           StringConvert(str);        
           StringConvert(c);
           Console.WriteLine(i1);
           Console.WriteLine(i2);
           Console.WriteLine(c.i);
           Console.WriteLine(str);
           Console.WriteLine(c.str);
       } 
    }


7.写出E序的输出结?/p>

public abstract class A 
{
        public A() 
       {
            Console.WriteLine('A');
        }
        public virtual void Fun() 
       {
            Console.WriteLine("A.Fun()");
        }
}

public class B: A 
{
        public B()
       {
            Console.WriteLine('B');
        }

        public new void Fun() 
       {
            Console.WriteLine("B.Fun()");
        }

        public static void Main() 
       {
           A a = new B();
           a.Fun();
        }
}


8.      写出E序的输出结果:(x)
public class A 
{
        public virtual void Fun1(int i)
       {
            Console.WriteLine(i);
        }

        public void Fun2(A a)  
       {
            a.Fun1(1);
            Fun1(5);
        }
}


public class B : A 
{
        public override void Fun1(int i)   
       {
            base.Fun1 (i + 1);
        }

        public static void Main()  
       {
            B b = new B();
            A a = new A();
            a.Fun2(b);
            b.Fun2(a);         
        }
}

 

9. 一列数的规则如? 1??????3?1?4......

   求第30位数是多, 用递归法实现?C#语言)


10.  E序设计: 猫大叫一壎ͼ所有的老鼠都开始逃跑Q主惊醒?C#语言)

要求Q?nbsp; 1.要有联动性,老鼠和主人的行ؓ(f)是被动的?/p>

2.考虑可扩展性,猫的叫声可能引v其他联动效应?/p>


参考答?
1. (1)  l承性、封装性、多态性。(考基本概念)
   (2)  IEnumerable ?GetEnumerator (对foreach机制的理解,本来不想题的Q凑?
   (3)  ... (送分? 对ADO.net的了?
评分标准Q一I?分,满分10分?/p>

 

2. (1) B、C (考对接口的理?  (2)  B、C、D (考查对ADO.net的熟l程?
  评分标准: 一?分,不选或者错选均不得分。漏选得2分。满?0分?/p>

 

3. . private :   U有成员, 在类的内部才可以讉K?br>     protected : 保护成员Q该cd部和l承cM可以讉K?br>     public :    公共成员Q完全公开Q没有访问限制?br>     internal:   在同一命名I间内可以访问?br>评分标准Q答??分,2?分,3?分。全?0分?(送分?

 

4.  ?:  select top 10 * from A where id not in (select top 30 id from A)
    ?:  select top 10 * from A where id > (select max(id) from (select top 30 id from A )as A)
    评分标准Q?写对?0分?{案不唯一Qdatagrid 分页可能需要用?
 
5.  1.使用QueryString,  ?...?id=1; response. Redirect()....
    2.使用Session变量
    3.使用Server.Transfer
    ....{等
   评分标准Q?{对1点得3分, 两点7分, 3?0分?/p>


6.  (考查值引用和对象引用)
10
21
0
str
string being converted.
评分标准Q答对一点得2分,满分10分?/p>


7.  A
    B
A.Fun()
评分标准Q?写出A.B ?分,写出A.Fun()?分,满分10分?br>(考查在承类中构造函? 以及(qing)new Ҏ(gu), )

 


8.  2
    5
    1
    6

 

(一些h做这题,头都晕了.... ^_^ )

 

9. 

    public class MainClass
    {
        public static void Main()  
        {
            Console.WriteLine(Foo(30));
        }
        public static int Foo(int i)
        {
            if (i <= 0)
                return 0;
            else if(i > 0 && i <= 2)
                return 1;
            else return Foo(i -1) + Foo(i - 2);
        }
    }
评分标准Q?写出return Foo(i -1) + Foo(i - 2); ?分?/p>

 写出if(i > 0 && i <= 2) return 1; ?分?/p>

           Ҏ(gu)参数q多需要扣分(扣除分数 = 参数个数 Q?1Q?/p>

           不用递归法??/p>

           (递归法在树(wi)l构建立{方面比较常?

 

10          

 要点Q?. 联动效果Q运行代码只要执行Cat.Cryed()Ҏ(gu)?. 对老鼠和主行抽?br>评分标准: <1>.构造出Cat、Mouse、Master三个c,q能使程序运?2?
            <2>从Mouse和Master中提取抽象(5分)
            <3>联动效应Q只要执行Cat.Cryed()可以老鼠逃跑Q主人惊醒?3?


    public interface Observer
    {
        void Response();    //观察者的响应Q如是老鼠见到猫的反映
    }
    public interface Subject
    {
        void AimAt(Observer obs);  //针对哪些观察者,q里指猫的要扑捉的对?--老鼠
    }
    public class Mouse : Observer
    {
        private string name;
        public Mouse(string name, Subject subj)
        {          
            this.name = name;
            subj.AimAt(this);
        }
       
        public void Response()
        {
            Console.WriteLine(name + " attempt to escape!");
        }
    }
    public class Master : Observer
    {  
        public Master(Subject subj)
        {          
            subj.AimAt(this);
        }
       
        public void Response()
        {
            Console.WriteLine("Host waken!");
        } 
    }
 
    public class Cat : Subject
    {
        private ArrayList observers;
        public Cat()
        {  
            this.observers = new ArrayList();
        }
        public void AimAt(Observer obs)
        {
            this.observers.Add(obs);
        }
        public void Cry()
        {
            Console.WriteLine("Cat cryed!");
            foreach (Observer obs in this.observers)
            {
                obs.Response();
            }
        }
    }
    class MainClass
    {      
        static void Main(string[] args)
        {
            Cat cat = new Cat();
            Mouse mouse1 = new Mouse("mouse1", cat);
            Mouse mouse2 = new Mouse("mouse2", cat);
            Master master = new Master(cat);
            cat.Cry();
        }
    }


//---------------------------------------------------------------------------------------------

设计Ҏ(gu)? 使用event -- delegate设计..
    public delegate void SubEventHandler();
    public abstract class Subject
    {
        public event SubEventHandler SubEvent;
        protected void FireAway()
        {
            if (this.SubEvent != null)
                this.SubEvent();
        }  
    }
    public class Cat : Subject
    { 
        public void Cry()
        {
            Console.WriteLine("cat cryed.");
            this.FireAway();
        }
    }
    public abstract class Observer
    {
        public Observer(Subject sub)
        {
            sub.SubEvent += new SubEventHandler(Response);
        }
        public abstract void Response();   
    }
    public class Mouse : Observer
    {
        private string name;
        public Mouse(string name, Subject sub) : base(sub)
        {  
            this.name = name;
        }
        public override void Response()
        {
            Console.WriteLine(name + " attempt to escape!");
        }
    }
    public class Master : Observer
    {
        public Master(Subject sub) : base(sub){}
        public override void Response()
        {
            Console.WriteLine("host waken");
        }
    }
    class Class1
    {
        static void Main(string[] args)
        {
            Cat cat = new Cat();
            Mouse mouse1 = new Mouse("mouse1", cat);
            Mouse mouse2 = new Mouse("mouse2", cat);
            Master master = new Master(cat);
            cat.Cry();
        }

    }


1. C#?property ?attribute的区别,他们各有什么用处,q种机制的好处在哪里Q?

2. 讲一讲你理解的web service,在dot net framework中,怎么很好的结合xml?Q讲概念p了)

3. C#, Java ?c++的特点,有什么相同的地方Q不同的地方QC#分别从c++和java中吸取了他们那些优点Q?/p>

4. C#可否对内存进行直接的操作Q?q可是个隄哦?要注意!Q?/p>

5. 用Visual C++ 6.0~写的代?unmanaged code)Q如何在CLR下和其他dot net componentl合Q?/p>

6. 以前作过的一些项目?介绍一下自q~程l验?q是蒙؜不过ȝQ基本一问就知道是真是假)

7. 你对公司有什么期望?你的薪水期望|Z么学计算机?以前的工作经验(q非帔R要)Q?/p>

 

Q3Q?l护数据库的完整性、一致性、你喜欢用触发器q是自写业务逻辑Qؓ(f)什?/p>

Q4QADO。NET相对于ADO{主要有什么改q?

Q5QASP。NET与ASP相比Q主要有哪些q步Q?/p>

Q6QC#中的委托是什么?事g是不是一U委托?

Q7Q描qC下C#中烦引器的实现过E,是否只能Ҏ(gu)数字q行索引Q?/p>

Q8QC#中要使一个类支持FOREACH遍历Q实现过E怎样Q?/p>

Q10Q写一个HTML面Q实C下功能,左键点击面时显C?#8220;(zhn)好”Q右键点?yn)L昄“止右键”。ƈ?分钟后自动关闭页面?/p>

Q11Q你对XMLHTTP、WEBSERVICE 了解吗?单描q其特点、作?/p>

Q12Q接口和抽象cL什么区别?你选择使用接口和抽象类的依据是什么?

Q13Q自定义控g和一般用h件的异同Q如果要用这两者之一Q你?x)选择哪种Qؓ(f)什?/p>

Q14Q大概描qC下ASP。NET服务器控件的生命周期

Q15QUML

Q16Q面向对象的概念Q主要特?/p>

Q17Q类划分的依据。类_度问题

Q18Q事物管理问?/p>

 

W一Q谈谈final, finally, finalize的区别?

W二QAnonymous Inner Class (匿名内部c? 是否可以extends(l承)其它c,是否可以implements(实现)interface(接口)?

W三QStatic Nested Class ?Inner Class的不同,说得多好(面试题有的很W统)?/p>

W四Q?amp;?amp;&的区别?/p>

W五QHashMap和Hashtable的区别?/p>

W六QCollection ?Collections的区别?/p>

W七Q什么时候用assert?/p>

W八QGC是什? Z么要有GC?

W九(ji)QString s = new String("xyz");创徏了几个String Object?

W十QMath.round(11.5){於多少? Math.round(-11.5){於多少?

W十一Qshort s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

W十二,sleep() ?wait() 有什么区?

W十三,Java有没有goto?

W十四,数组有没有length()q个Ҏ(gu)? String有没有length()q个Ҏ(gu)?

W十五,Overload和Override的区别。Overloaded的方法是否可以改变返回值的cd?

W十六,Set里的元素是不能重复的Q那么用什么方法来区分重复与否? 是用==q是equals()? 它们有何区别?

W十七,l我一个你最常见到的runtime exception?/p>

W十八,error和exception有什么区?

W十?ji),List, Set, Map是否l承自Collection接口?

W二十,abstract class和interface有什么区?

W二十一Qabstract的method是否可同时是static,是否可同时是nativeQ是否可同时是synchronized?

W二十二Q接口是否可l承接口? 抽象cL否可实现(implements)接口? 抽象cL否可l承实体c?concrete class)?

W二十三Q启动一个线E是用run()q是start()?

W二十四Q构造器Constructor是否可被override?

W二十五Q是否可以承Stringc?

W二十六Q当一个线E进入一个对象的一个synchronizedҎ(gu)后,其它U程是否可进入此对象的其它方?

W二十七Qtry {}里有一个return语句Q那么紧跟在q个try后的finally {}里的code?x)不会(x)被执行Q什么时候被执行Q在return前还是后?

W二十八Q编E题: 用最有效率的Ҏ(gu)出2乘以8{於?

W二十九(ji)Q两个对象值相?x.equals(y) == true)Q但却可有不同的hash codeQ这句话对不?

W三十,当一个对象被当作参数传递到一个方法后Q此Ҏ(gu)可改变这个对象的属性,q可q回变化后的l果Q那么这里到底是g递还是引用传?

W三十一Qswtich是否能作用在byte上,是否能作用在long上,是否能作用在String?

W三十二Q编E题: 写一个Singleton出来?/p>

 

数据库方面:(x)

 

1.存储q程和函数的区别

2.事务是什么?

3.游标的作用?如何知道游标已经C最后?

4.触发器分Z前触发和事后触发Q这两种触发有和区别。语句触发和行U触发有何区别?/p>

 

1。用CQ实C下功?/p>

   a 产生一个int数组Q长度ؓ(f)100Qƈ向其中随机插?-100Qƈ且不能重复?/p>

   b 对上面生成的数组排序Q需要支持升序、降序两U顺?/p>

2。请说明?net中常用的几种面间传递参数的Ҏ(gu)Qƈ说出他们的优~点?/p>

3。请说明.net中的错误处理机制Qƈ举例

4。请说出强名的含?/p>

5。请列出cQ中几种循环的方法,q指Z们的不同

6。请指出.net中所有类型的基类

7。请指出GAC的含?/p>

8。SQL SREVER中,向一个表中插入了新数据,如何快捷的得到自增量字段的当前?/p>

 

(zhn)在什么情况下?x)用到虚?gu)Q它与接口有什么不同?

QQOverride与重载有什么区别?

QQ值类型与引用cd有什么区别?

QQ怎样理解静态变量?

QQ向服务器发送请求有几种方式Q?/p>

QQDataReader与Dataset有什么区别?

QQ如果在一个B/Sl构的系l中需要传递变量|但是又不能用Session、Cookie、ApplicationQ?zhn)有几U方法进行处理?

QQ用.net做B/Sl构的系l,(zhn)是用几层结构来开发,每一层之间的关系以及(qing)Z么要q样分层Q?/p>

QQY件开发过E一般有几个阶段Q每个阶D늚作用Q?/p>

QQ微软推Z一pd的Application BlockQ请丑և(zhn)所知道的Application Blockq说明其作用Q?/p>

QQ请列D一些?zhn)用到q的设计模式以及(qing)在什么情况下使用该模式?

QQ?zhn)对WebService的体?x)?/p>

QQ?zhn)对编E的兴趣如何Q工作中遇到不懂的问题是怎样去解决的Q?zhn)一般怎样L高自q~程水^Q?/p>

QQ?zhn)职的原因是什么?

QQ通过链接怎样传递中文参敎ͼ

QQ请~程遍历面上所有TextBox控gq给它赋gؓ(f)string.EmptyQ?/p>

QQ请~程实现一个冒泡排序算法?

 

1、override与重载的区别

2?net的错误处理机制是什?/p>

3、CQ中接口和类的异?/p>

4、DataReader和DataSet的异?/p>

 

1.有哪几种Ҏ(gu)可以实现一个类存取另外一个类的成员函数及(qing)属?q请丑ֈ来加以说明和分析.

2.如果需记录cȝ实例个数,该如何实?请写一个简单的cM以证?

3.AcLBcȝ基类,q且都有自己的构?析构函数,请D例证明BcM实例化到消亡q程中构?析构函数的执行过E?

4.需要实现对一个字W串的处?首先该字符串首I格L,如果字符串中间还有连l空格的?仅保留一个空?卛_许字W串中间有多个空?但连l的I格C可超q一?

 

一.填空?/p>

1.c#中的三元q算W是__?:___?

2.当整数a赋值给一个object对象Ӟ整数a会(x)被__装箱(装)___?

3.cL员有_____U可讉K形式Q?nbsp; this.;new Class().Method;

4.public static const int A=1;q段代码有错误么Q是什么?  const不能用static修饰

5.float f=-123.567F;

  int i=(int)f;

i的值现在是_____?   123 

6.利用operator声明且仅声明?#8220;==”Q有什么错误么? 

7.委托声明的关键字是______? delagete

8.用sealed修饰的类有什么特点?密封Q不能?/p>

9.在Asp.net中所有的自定义用h仉必须l承自________?Control

10.?Net中所有可序列化的c都被标Cؓ(f)_____? 

11.?Net托管代码中我们不用担心内存漏z,q是因ؓ(f)有了______?gc

12.下面的代码中有什么错误吗Q_______

     using System;

     class A

     {

          public virtual void F(){

              Console.WriteLine("A.F");

           }

      }

      abstract class B:A

       {

           public abstract override void F(); // new public abstract void F(); 

       }

 

13.当类T只声明了U有实例构造函数时Q则在T的程序文本外部,___可以___Q可?or 不可以)从Tz出新的类Q不可以____Q可?or 不可以)直接创徏T的Q何实例?/p>

14.下面q段代码有错误么Q?/p>

    switch (i){

    case():

        CaseZero();

        break;

    case 1:

        CaseOne();

        break;

    case 2:

        dufault;  //wrong

        CaseTwo();

        break;

   }

15.?Net中,cSystem.Web.UI.Page 可以被承么Q可?/p>

 

?{题

1.在c#中using和newq两个关键字有什么意义,请写Z所知道的意义?using 指o(h) 和语?new 创徏实例 new 隐藏基类中方?/p>

4.谈谈cdl构的区别?cL引用cd、结构是值类?/p>

5.一个长度ؓ(f)10000的字W串Q通过随机从a-z中抽?0000个字W组成。请用cQ语a~写主要E序来实现?/p>

6.对于q样的一个枚丄型:(x)

      enum Color:byte{

          Red,

          Green,

          Blue,

          Orange

       }

     string[] ss=Enum.GetNames(typeof(Color));

     byte[]   bb=Enum.GetValues(typeof(Color));

试写一D늨序显C出枚Dcd中定义的所有符号名UC?qing)它们对应的数倹{?/p>

7.(zhn)了解设计模式么Q请列出(zhn)所知道的设计模式的名称?//

8.请在SQL Server中设计表来保存一个树(wi)状结构的l织l构图(假设l构图中只有名称q一内定w要保存)Q如果我x询某一职位下的所有职位,用一个存储过E来实现Q你有什么思\Q?/p>

9.什么叫做SQL注入Q如何防止?请D例说明?/p>

10.下面q段代码输出什么?Z么?

     int i=5;

     int j=5;

     if (Object.ReferenceEquals(i,j))

          Console.WriteLine("Equal");

     else

          Console.WriteLine("Not Equal");

//不相{,因ؓ(f)比较的是对象

 

1.写一个实现对一D字W串{的方法,附加一些条Ӟ如其中包?#8220;Q?#8221;?#8220;.”Q对其设计测试用 ??/p>

2.对一支纸杯设计测试用例(可以是广义的杯,不一定是某一支特定功能的杯)

开发语a概念?

3.什么是反射Q?

4.用Singleton如何写设计模?

5.C#中的垃圾回收机制是怎样的?

6.什么是Application PoolQ?

7.链表和数l的区别Q各有什么优~点.

8.Remoting在客L(fng)服务器怎么实现 ?

9.什么是友元函数Q?

10.用标准C如何实现多态?

11.什么是虚函敎ͼ

12.什么是抽象函数Q?

13.什么是内存泄漏Q怎样最单的Ҏ(gu)判断被存泄漏 ?

14.用英文介l一下用C#/C++做的目Q主要功?

15.如果要与国开?sh)话会(x)议Q会(x)如何与美国的工程师沟?

16.如果老板认ؓ(f)你的技术落后,你会(x)怎么回答 

数据库知识题

17.使用什么工h调用存储q程

18.SQL Server的两U烦引是何Ş式?索引的作用?索引的优~点Q?

19.触发器的作用 

其它知识题及(qing)问题

20.什么是Web ServiceQ?

21.什么是XMLQ?

22.Socket怎么实现

 

 

QQ?zhn)在什么情况下?x)用到虚?gu)Q它与接口有什么不同?

QQOverride与重载有什么区别?

QQ值类型与引用cd有什么区别?

QQ怎样理解静态变量?

QQ向服务器发送请求有几种方式Q?/p>

QQDataReader与Dataset有什么区别?

QQ如果在一个B/Sl构的系l中需要传递变量|但是又不能用Session、Cookie、ApplicationQ?zhn)有几U方法进行处理?

QQ用.net做B/Sl构的系l,(zhn)是用几层结构来开发,每一层之间的关系以及(qing)Z么要q样分层Q?/p>

QQY件开发过E一般有几个阶段Q每个阶D늚作用Q?/p>

QQ微软推Z一pd的Application BlockQ请丑և(zhn)所知道的Application Blockq说明其作用Q?/p>

QQ请列D一些?zhn)用到q的设计模式以及(qing)在什么情况下使用该模式?

QQ?zhn)对WebService的体?x)?/p>

QQ?zhn)对编E的兴趣如何Q工作中遇到不懂的问题是怎样去解决的Q?zhn)一般怎样L高自q~程水^Q?/p>

QQ?zhn)职的原因是什么?

以下几道题目如果(zhn)不?x),误l的描述(zhn)的解决思\和方?/p>

QQ通过链接怎样传递中文参敎ͼ

QQ请~程遍历面上所有TextBox控gq给它赋gؓ(f)string.EmptyQ?/p>

QQ请~程实现一个冒泡排序算法?

 

1.在对SQL Server 数据库操作时应选用QaQ?
a)SQL Server .NET Framework 数据提供E序Q?
b)OLE DB .NET Framework 数据提供E序Q?
c)ODBC .NET Framework 数据提供E序Q?
d)Oracle .NET Framework数据提供E序Q?
2.下列选项中,QcQ是引用cd?
a)enumcd
b)structcd
c)stringcd
d)intcd
3.关于ASP.NET中的代码隐藏文g的描q正的是(aQ?
a)WebH体늚E序的逻辑׃码组成,q些代码的创建用于与H体交互。编E逻辑唯一与用L(fng)面不同的文g中。该文gUC?#8220;代码隐藏”文gQ如果用CQ创建,该文件将h“.ascx.cs”扩展名?
b)目中所有WebH体늚代码隐藏文g都被~译?EXE文g?
c)目中所有的WebH体늚代码隐藏文g都被~译成项目动态链接库Q?dllQ文件?
d)以上都不正确?
4.以下描述错误的是QaQ?
a)在C++中支持抽象类而在C#中不支持抽象cR?
b)C++中可在头文g中声明类的成员而在CPP文g中定义类的成员,在C#中没有头文gq且在同一处声明和定义cȝ成员?
c)在C#中可使用 new 修饰W显式隐藏从基类l承的成员?
d)在C#中要在派生类中重新定义基cȝ虚函数必d前面加Override?
5.C#的数据类型有QbQ?
a)值类型和调用cdQ?
b)值类型和引用cdQ?
c)引用cd和关pȝ型;
d)关系cd和调用类型;
6.下列描述错误的是QdQ?
a)cM可以多重l承而接口可以;
b)抽象c自w可以定义成员而接口不可以Q?
c)抽象cd接口都不能被实例化;
d)一个类可以有多个基cd多个基接口;
7.在DOM中,装蝲一个XML文的方法(bQ?
a)saveҎ(gu)
b)loadҎ(gu)
c)loadXMLҎ(gu)
d)sendҎ(gu)
8.下列关于构造函数的描述正确的是QcQ?
a)构造函数可以声明返回类型?
b)构造函C可以用private修饰
c)构造函数必Mcd相同
d)构造函C能带参数
9.以下是一些C#中的枚D型的定义Q其中错误的用法有(aQ?
a)public enum var1{ Mike = 100, Nike = 102, Jike }
b)public enum var1{ Mike = 100, Nike, Jike }
c)public enum var1{ Mike=-1 , Nike, Jike }
d)public enum var1{ Mike , Nike , Jike }
10.int[][] myArray3=new int[3][]{new int[3]{5,6,2},new int[5]{6,9,7,8,3},new int[2]{3,2}}; myArray3[2][2]的值是QdQ?
a)9
b)2
c)6
d)界
11.接口是一U引用类型,在接口中可以声明QaQ,但不可以声明公有的域或私有的成员变量?
a)Ҏ(gu)、属性、烦引器和事Ӟ
b)Ҏ(gu)、属性信息、属性;
c)索引器和字段Q?
d)事g和字D;
12.ASP.NET框架中,服务器控件是为配合Web表单工作而专门设计的。服务器控g有两U类型,它们?a)
a)HTML控g和W(xu)eb控g
b)HTML控g和XML控g
c)XML控g和W(xu)eb控g
d)HTML控g和IIS控g
13.ASP.NET中,在WebH体上注册一个用hӞ指定该控件的名称?#8221;Mike”Q正的注册指o(h)?b)
a)<%@Register TagPrefix = “Mike” TagName = “Space2” Src = “myX.ascx”%>
b)<%@Register TagPrefix = “Space2” TagName = “Mike” Src = “myX.ascx”%>
c)<%@Register TagPrefix = “SpaceX” TagName = “Space2” Src = “Mike”%>
d)以上皆非
14.在ADO.NET中,对于Command对象的ExecuteNonQuery()Ҏ(gu)和ExecuteReader()Ҏ(gu)Q下面叙q错误的是(cQ?
a)insert、update、delete{操作的Sql语句主要用ExecuteNonQuery()Ҏ(gu)来执行;
b)ExecuteNonQuery()Ҏ(gu)q回执行Sql语句所影响的行数?
c)Select操作的Sql语句只能由ExecuteReader()Ҏ(gu)来执行;
d)ExecuteReader()Ҏ(gu)q回一个DataReder对象Q?
15.下列ASP.NET语句QbQ正地创徏了一个与SQL Server 2000数据库的q接?
a)SqlConnection con1 = new Connection(“Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB”);
b)SqlConnection con1 = new SqlConnection(“Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB”);
c)SqlConnection con1 = new SqlConnection(Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB);
d)SqlConnection con1 = new OleDbConnection(“Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB”);
16.Winform中,关于ToolBar控g的属性和事g的描qC正确的是(d)?
a)Buttons属性表CToolBar控g的所有工h按钮
b)ButtonSize属性表CToolBar控g上的工具栏按钮的大小Q如高度和宽?
c)DropDownArrows属性表明工h按钮Q该按钮有一列值需要以下拉方式昄Q旁Ҏ(gu)否显CZ头?
d)ButtonClick事g在用户单dhM地方旉?x)触?
17.在ADO.NET中执行一个存储过E时Q如果要讄输出参数则必d时设|参数的方向和(d Q,必要时还要设|参数尺寸?
a)大小Q?
b)上限Q?
c)初始|
d)cdQ?

18.如果窗体的FormBoderStyle讄为NoneQ则(B)?
a)H体没有Ҏ(gu)q不能调整大;
b)H体没有Ҏ(gu)但能调整大小Q?
c)H体有边框但不能调整大小Q?
d)H体是透明的;
19.如果要将H体讄为透明的,? b)
a)要将FormBoderStyle属性设|ؓ(f)NoneQ?
b)要将Opacity属性设|ؓ(f)于100%得|
c)要将locked 属性设|ؓ(f)TrueQ?
d)要将 Enabled属性设|ؓ(f)TrueQ?
20.下列关于C#中烦引器理解正确的是(c )
a)索引器的参数必须是两个或两个以上
b)索引器的参数cd必须是整数型
c)索引器没有名?
d)以上皆非
21.下面描述错误的是(D )?
a)H体也是控gQ?
b)H体也是c;
c)控g是从H体l承来的Q?
d)H体的父cL控gc;
22.要对注册表进行操作则必须包含(D )?
a)System.ComponentModel命名I间Q?
b)System.Collections命名I间Q?
c)System.Threading命名I间Q?
d)Microsoft.Win32命名I间Q?
23.要创建多文档应用E序Q需要将H体?d )属性设为true?
a)DrawGridQ?
b)ShowInTaskbarQ?
c)EnabledQ?
d)IsMdiContainerQ?
24.如果设treeView1=new TreeView()Q则treeView1.Nodes.Add("根节?)q回的是一?(a)cd的倹{?
a)TreeNodeQ?
b)intQ?
c)stringQ?
d)TreeViewQ?nbsp;

 25.下面关于XML的描q错误的是( dQ?
a)XML提供一U描q结构化数据的方法;
b)XML 是一U简单、与q_无关q被q泛采用的标准;
c)XML文可承载各U信息;
d)XML只是Z生成l构化文档;
26. 以下的C#代码Q试囄来定义一个接口:(x)
public interface IFile
{
int A;
int delFile()
{
A = 3;
}
void disFile();
}
关于以上的代码,以下描述错误的是(A,B )?
a)以上的代码中存在的错误包括:(x)不能在接口中定义变量Q所以int A代码行将出现错误Q?
b)以上的代码中存在的错误包括:(x)接口Ҏ(gu)delFile是不允许实现的,所以不能编写具体的实现函数Q?
c)代码void disFile();声明无错误,接口可以没有q回|
d)代码void disFile();应该~写为void disFile(){}Q?br>29.在C#中利用Socketq行|络通信~程的一般步骤是Q徏立Socket侦听、( aQ?0.声明一个委托public delegate int myCallBack(int x); 则用该委托生的回调Ҏ(gu)的原型应该是Qb Q?
a)void myCallBack(int x) Q?
b)int receive(int num) Q?
c)string receive(int x) Q?
d)不确定的Q?
二、判断题Q对的打√错的?#215;Q每题2分,?0分)
1.( T)在C#中,装箱操作是将值类型{化成引用cd?
2.( F)接口中的成员不可以有讉K域修饰符Q但可以有其它修饰符?
3.( F)在C#中,索引器是专门用来讉K对象中的数组信息的?
4.( T)在C#中,接口可以被多重承而类不能?
5.( F)在C#中,int[][]是定义一个int型的二维数组?
6.( T)异常cd象均为SystemQExceptioncȝ对象?
7.(T ) 当窗体最化后,再次q原成ؓ(f)zdH体时将自动触发Paint事g?
8.( T) ASP.NET中,使用验证控g来验证用戯入,要求用户不可跌该项输入Qƈ且用戯入值在0?000之间Q则适用RequiredFieldValidator和RangeValidator控g?
9.( F) 声明委托实际上是声明了一个方法?
10.(T ) M事物都是对象?nbsp;
1.L(fng)qC下用Socketq行同步通讯~程的详l步?
1、在应用E序和远E设备中使用协议和网l地址初始化套接字
2、在应用E序中通过指定端口和地址建立监听
3、远E设备发接请?
4、应用程序接受连接生通信scoket
5、应用程序和q程讑֤开始通讯Q在通讯中应用程序将挂v直到通讯l束Q?
6、通讯l束Q关闭应用程序和q程讑֤的Socket回收资源
2.比较ADO 与ADO.NET 的不同?/div>


圣域飞侠 2007-03-30 11:35 发表评论
]]>Asp.net 2.0 GridView数据导出Excel文ghttp://www.aygfsteel.com/yeiwei/archive/2007/03/23/105751.html圣域飞侠圣域飞侠Fri, 23 Mar 2007 02:36:00 GMThttp://www.aygfsteel.com/yeiwei/archive/2007/03/23/105751.htmlhttp://www.aygfsteel.com/yeiwei/comments/105751.htmlhttp://www.aygfsteel.com/yeiwei/archive/2007/03/23/105751.html#Feedback1http://www.aygfsteel.com/yeiwei/comments/commentRss/105751.htmlhttp://www.aygfsteel.com/yeiwei/services/trackbacks/105751.html(一) . q行CZ?/p>

 1. 待导出数据的GridView?

2. 生成的Excel文g

(?. 代码

 1. 前台面 GridViewToExcelFile.aspx 代码:

 1<%@ Page Language="C#" AutoEventWireup="true" EnableEventValidation="false" CodeFile="GridViewToExcelFile.aspx.cs" Inherits="_Default" %>
 2
 3<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 4
 5<html xmlns="http://www.w3.org/1999/xhtml" >
 6<head runat="server">
 7    <title>Untitled Page</title>
 8</head>
 9<body>
10    <form id="form1" runat="server">
11    <div>
12        <asp:GridView ID="gvFoods" runat="server" BackColor="LightGoldenrodYellow" BorderColor="Tan" BorderWidth="1px" CellPadding="2" ForeColor="Black" GridLines="None" EnableViewState="true">
13            <FooterStyle BackColor="Tan" />
14            <SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" />
15            <PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" HorizontalAlign="Center" />
16            <HeaderStyle BackColor="Tan" Font-Bold="True" />
17            <AlternatingRowStyle BackColor="PaleGoldenrod" />
18        </asp:GridView>
19        <br />
20        <asp:Button ID="Button1" runat="server" BackColor="#C0C0FF" OnClick="Button1_Click"
21            Text="Create Excel" Width="137px" />
22    </div>
23    </form>
24</body>
25</html>

 2. 面后台文g GridViewToExcelFile.aspx.cs 代码:

  1 using System;
  2 using System.Data;
  3 using System.Configuration;
  4 using System.Web;
  5 using System.Web.Security;
  6 using System.Web.UI;
  7 using System.Web.UI.WebControls;
  8 using System.Web.UI.WebControls.WebParts;
  9 using System.Web.UI.HtmlControls;
 10 using System.IO;
 11 using System.Text;
 12 using System.Collections;
 13 
 14 public partial class _Default : System.Web.UI.Page 
 15 {
 16     protected void Page_Load(object sender, EventArgs e)
 17     {
 18        if(!Page.IsPostBack)
 19        {
 20           CreateStructure();
 21           this.gvFoods.DataSource = this.CreateData();
 22           this.gvFoods.DataBind();
 23        }
 24     }
 25    private DataTable CreateStructure()
 26    {
 27       DataTable dt = new DataTable();
 28       dt.Columns.Add(new DataColumn("CategoryID", typeof(int)));
 29       dt.Columns.Add(new DataColumn("CategoryName", typeof(string)));
 30       dt.Columns.Add(new DataColumn("Price", typeof(int)));      
 31       return dt;
 32    }
 33    public DataSet CreateData()
 34    {
 35       DataSet ds = new DataSet();
 36       DataTable dt = this.CreateStructure();
 37 
 38       DataRow drNew = dt.NewRow();      
 39       drNew = dt.NewRow();
 40       drNew["CategoryID"] = 1;
 41       drNew["CategoryName"] = "Apple";
 42       drNew["Price"] = 2;
 43       dt.Rows.Add(drNew);
 44 
 45       drNew = dt.NewRow();
 46       drNew["CategoryID"] = 2;
 47       drNew["CategoryName"] = "Banana";
 48       drNew["Price"] = 3;
 49       dt.Rows.Add(drNew);
 50 
 51       drNew = dt.NewRow();
 52       drNew["CategoryID"] = 3;
 53       drNew["CategoryName"] = "Orange";
 54       drNew["Price"] = 1;
 55       dt.Rows.Add(drNew);
 56 
 57       drNew = dt.NewRow();
 58       drNew["CategoryID"] = 4;
 59       drNew["CategoryName"] = "Radish";
 60       drNew["Price"] = 2;
 61       dt.Rows.Add(drNew);
 62 
 63       drNew = dt.NewRow();
 64       drNew["CategoryID"] = 5;
 65       drNew["CategoryName"] = "Pen";
 66       drNew["Price"] = 3;
 67       dt.Rows.Add(drNew);
 68 
 69       drNew = dt.NewRow();
 70       drNew["CategoryID"] = 6;
 71       drNew["CategoryName"] = "Pencil";
 72       drNew["Price"] = 7;
 73       dt.Rows.Add(drNew);
 74 
 75       drNew = dt.NewRow();
 76       drNew["CategoryID"] = 7;
 77       drNew["CategoryName"] = "Ruler";
 78       drNew["Price"] = 3;
 79       dt.Rows.Add(drNew);
 80 
 81       drNew = dt.NewRow();
 82       drNew["CategoryID"] = 8;
 83       drNew["CategoryName"] = "Eraser";
 84       drNew["Price"] = 5;
 85       dt.Rows.Add(drNew);
 86 
 87       ds.Tables.Add( dt );
 88       return ds;
 89    }
 90    protected void Button1_Click(object sender, EventArgs e)
 91    {     
 92       StringWriter sw = new StringWriter();
 93       HtmlTextWriter htw = new HtmlTextWriter(sw);
 94       this.gvFoods.RenderControl(htw);
 95       string strHtml = sw.ToString().Trim();
 96 
 97       string ExcelFileName = "FoodList.xls";
 98       string FilePhysicialPathName = Request.PhysicalApplicationPath;      
 99       
100       //生成的Excel文g?br />101       string objectExcelFileName = Path.Combine(FilePhysicialPathName, ExcelFileName);
102 
103       if( File.Exists( objectExcelFileName ))
104       {
105          File.Delete(objectExcelFileName);
106       }
107       FileStream fs = new FileStream(objectExcelFileName, FileMode.Create);
108       BinaryWriter bw = new BinaryWriter(fs, Encoding.GetEncoding("GB18030"));
109       bw.Write(strHtml);
110       bw.Close();
111       fs.Close();
112 
113    }
114    public override void VerifyRenderingInServerForm(Control control)
115    {
116       //base.VerifyRenderingInServerForm(control);
117    }  
118 }
119 


圣域飞侠 2007-03-23 10:36 发表评论
]]>
.netWeb用户控g使用技?/title><link>http://www.aygfsteel.com/yeiwei/archive/2007/03/23/105750.html</link><dc:creator>圣域飞侠</dc:creator><author>圣域飞侠</author><pubDate>Fri, 23 Mar 2007 02:35:00 GMT</pubDate><guid>http://www.aygfsteel.com/yeiwei/archive/2007/03/23/105750.html</guid><wfw:comment>http://www.aygfsteel.com/yeiwei/comments/105750.html</wfw:comment><comments>http://www.aygfsteel.com/yeiwei/archive/2007/03/23/105750.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/yeiwei/comments/commentRss/105750.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/yeiwei/services/trackbacks/105750.html</trackback:ping><description><![CDATA[<div id="wmqeeuq" class="con_sample"> <p>本h学习(fn).net用户控g的过E:(x)如何d子控件的|自定义事Ӟ动态控制子控g的状态,附带例子?/p> </div> <div id="wmqeeuq" class="con_all"> <p> </p> <p>关于Web用户控g如何d子控件的|自定义事Ӟ动态控制子控g状态的应用?/p> <p>效果图:(x)</p> <p> <img alt="" src="http://www.webasp.net/article/uploadfile/200701/2007115105123105.jpg" /> </p> <p> </p> <p>/*用户控g界面开?/</p> <p><%@ Control Language="C#" AutoEventWireup="true" CodeFile="SearchBar.ascx.cs" Inherits="Singcn.UC.SearchBar" %></p> <p><table width="100%" border="0" cellpadding="0" cellspacing="0" class="coolBar"><br />  <tr><br />    <td style="WIDTH: 3px; CURSOR: move; height: 26px;"><DIV CLASS="TBHandle"></DIV></TD><br />    <td style="height: 26px"><br />        &nbsp;查询Q?lt;asp:TextBox ID="search_txt" runat="server" CssClass="TextBox" Width="120px"></asp:TextBox><br />        <asp:DropDownList ID="search_lx" runat="server"></p> <p>        </asp:DropDownList><br />        <asp:Button ID="BOk" runat="server" CssClass="Button" Text="查询" OnClick="BOk_Click"/><br />        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label></td><br />  </tr><br /></table></p> <p>/*用户控g界面l束*/</p> <p> </p> <p> </p> <p>/*用户控g代码开?/</p> <p>namespace MY.UC<br />{<br />    using System;<br />    using System.Data;<br />    using System.Configuration;<br />    using System.Collections;<br />    using System.Web;<br />    using System.Web.Security;<br />    using System.Web.UI;<br />    using System.Web.UI.WebControls;<br />    using System.Web.UI.WebControls.WebParts;<br />    using System.Web.UI.HtmlControls;</p> <p>    public delegate void BOkClickHandler(object sender, System.EventArgs e); //定义查询按钮委托</p> <p>    //自定义枚?用户控制查询条显C模?br />    public enum EBarType { mintype = 1, usertype, xwxxtype };<br />    //1=~省模式,2=操作员模?3=新闻理模式</p> <p> <br />    public partial class SearchBar : System.Web.UI.UserControl<br />    {<br />        public event BOkClickHandler BOkClick;//定义事g<br />        <br />        public string SearchTxt//讄文本框内?br />        {<br />            get { return this.search_txt.Text; }//this.search_txt.Text<br />            set { this.search_txt.Text = value; }<br />        }</p> <p> <br />        private EBarType _BarType;<br />        public EBarType BarType//讄昄模式<br />        {<br />            get { return _BarType; }<br />            set <br />            {<br />                _BarType = value;<br />                switch (value)<br />                {<br />                    case EBarType.xwxxtype:<br />                        showxwxx();<br />                        break;</p> <p>                    case EBarType.usertype:<br />                        showuser();<br />                        break;</p> <p>                    default://EBarType.mintype;<br />                        showmin();<br />                        break;<br />                }</p> <p>            }<br />        }<br />    <br />    <br />        private bool _TxtVisible;<br />        public bool TxtVisible<br />        {<br />            get { return _TxtVisible; }<br />            set<br />            {<br />                _TxtVisible = value;<br />                this.search_txt.Visible = _TxtVisible;<br />            }<br />        }//控制文本框是否显C?/p> <p>        private bool _LXVisible;<br />        public bool LXVisible<br />        {<br />            get { return _LXVisible; }<br />            set<br />            {<br />                _LXVisible = value;<br />                this.search_lx.Visible = _LXVisible;<br />            }<br />        }//控制下拉列表是否昄</p> <p>        <br />        //private string _SearchLX;<br />        public string SearchLX<br />        {<br />            get { return this.search_lx.SelectedItem.Value; }//this.search_lx.SelectedItem.Value;_SearchLX<br />            set<br />            {<br />                for (int myi = 0; myi < search_lx.Items.Count ; myi++)<br />                {<br />                    if (search_lx.Items[myi].Value == value)<br />                    {<br />                        search_lx.SelectedIndex = myi;<br />                        break;<br />                    }<br />                }<br />            }<br />        }//讄下拉列表的?/p> <p>        protected void Page_Load(object sender, EventArgs e)<br />        {</p> <p>        }</p> <p>        #region web H体设计器生成的代码<br />        override protected void OnInit(EventArgs e)<br />        {<br />            InitializeComponent();<br />            base.OnInit(e);</p> <p>        }</p> <p>        private void InitializeComponent()<br />        {<br />            this.BOk.Click += new System.EventHandler(this.BOk_Click);//q一行很重要<br />        }<br />        #endregion</p> <p>        protected void BOk_Click(object sender, EventArgs e)<br />        {<br />//            this._SearchTxt = this.search_txt.Text;<br />            //this._SearchLX = this.search_lx.SelectedItem.Value;<br />            if (BOkClick != null)<br />                BOkClick(this, e);<br />        }</p> <p>        private void showxwxx()//新闻理模式的界面处?br />        {<br />            Label1.Visible = false;<br />            search_txt.Visible = true;<br />            search_lx.Visible = true;<br />            search_lx.Items.Clear();<br />            ListItem myitem = new ListItem();<br />            myitem.Text = "标题";<br />            myitem.Value = "1";<br />            search_lx.Items.Add(myitem);<br />            myitem = new ListItem();<br />            myitem.Text = "作?;<br />            myitem.Value = "2";<br />            search_lx.Items.Add(myitem);<br />            search_lx.SelectedIndex = 0;<br />        <br />        }<br />        private void showuser()//操作员模式的界面处理<br />        {<br />            Label1.Visible = false;<br />            search_txt.Visible = true;<br />            search_lx.Visible = true;<br />            search_lx.Items.Clear();<br />            ListItem myitem = new ListItem();<br />            myitem.Text="用户ID";<br />            myitem.Value="1";<br />            search_lx.Items.Add(myitem);<br />            myitem = new ListItem();<br />            myitem.Text = "用户名称";<br />            myitem.Value = "2";<br />            search_lx.Items.Add(myitem);<br />            search_lx.SelectedIndex = 0;</p> <p>        }</p> <p>        private void showmin()//~省模式的界面处?br />        {<br />            Label1.Visible = true;<br />            search_txt.Visible = true;<br />            search_lx.Visible = false;<br />            search_lx.Items.Clear();</p> <p> <br />        }<br />    }<br />}<br />/*用户控g代码l束*/</p> <p> </p> <p> </p> <p>/*试늕面开?/</p> <p><%@ Page Language="C#" AutoEventWireup="true" CodeFile="SearchBarTest.aspx.cs" Inherits="Control_SearchBarTest" %></p> <p><%@ Register Src="SearchBar.ascx" TagName="SearchBar" TagPrefix="uc1" %></p> <p><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"></p> <p><html xmlns="http://www.w3.org/1999/xhtml" ><br /><head runat="server"><br />    <title>无标题页</title><br />    <link href="../CSS/system.css" _fcksavedurl=""../CSS/system.css"" _fcksavedurl=""../CSS/system.css"" _fcksavedurl=""../CSS/system.css"" rel="stylesheet" type="text/css" /><br />    <br />    <link href="../CSS/searchbar.css" rel="stylesheet" type="text/css" />    <br /></head><br /><body><br />    <form id="form1" runat="server"><br />    <div><br />        <uc1:SearchBar ID="SearchBar1" runat="server" BarType="usertype" /><br />        <asp:Label ID="Label1" runat="server" Text="查询l果"></asp:Label><br /><br />        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="~省" /><br />        <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="操作员界? /><br />        <asp:Button ID="Button3" runat="server" OnClick="Button3_Click" Text="新闻理界面" /><br />        <asp:Button ID="Button4" runat="server" OnClick="Button4_Click" Text="隐藏下拉? /></div><br />        <br /><br />    </form><br /></body><br /></html><br />/*试늕面结?/</p> <p>/*试代码开?/</p> <p>using System;<br />using System.Data;<br />using System.Configuration;<br />using System.Collections;<br />using System.Web;<br />using System.Web.Security;<br />using System.Web.UI;<br />using System.Web.UI.WebControls;<br />using System.Web.UI.WebControls.WebParts;<br />using System.Web.UI.HtmlControls;<br />using MY.UC;</p> <p>public partial class Control_SearchBarTest : System.Web.UI.Page<br />{<br />    protected void Page_Load(object sender, EventArgs e)<br />    {</p> <p>    }</p> <p>    #region web H体设计器生成的代码<br />    override protected void OnInit(EventArgs e)<br />    {<br />        InitializeComponent();<br />        base.OnInit(e);<br />    }</p> <p>    private void InitializeComponent()<br />    {<br />        //注册查询条的按钮事g<br />        this.SearchBar1.BOkClick += new BOkClickHandler(this.SearchBar1_BOkClick);</p> <p>    }<br />    #endregion</p> <p>    protected void SearchBar1_BOkClick(object sender, EventArgs e)<br />    {<br />        //查询按钮事g<br />        Label1.Text = "查询内容Q?+this.SearchBar1.SearchTxt +"  选择列表:"+ this.SearchBar1.SearchLX;</p> <p>    }<br />    protected void Button1_Click(object sender, EventArgs e)<br />    {<br />        this.SearchBar1.BarType = EBarType.mintype;<br />    }</p> <p>    protected void Button2_Click(object sender, EventArgs e)<br />    {<br />        this.SearchBar1.BarType = EBarType.usertype;<br />    }</p> <p>    protected void Button3_Click(object sender, EventArgs e)<br />    {<br />        this.SearchBar1.BarType = EBarType.xwxxtype;<br />    }</p> <p>    protected void Button4_Click(object sender, EventArgs e)<br />    {<br />        this.SearchBar1.LXVisible = false;<br />    }<br />}</p> <p> <br />/*试代码结?/</p> </div><img src ="http://www.aygfsteel.com/yeiwei/aggbug/105750.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/yeiwei/" target="_blank">圣域飞侠</a> 2007-03-23 10:35 <a href="http://www.aygfsteel.com/yeiwei/archive/2007/03/23/105750.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在ASP.NET中插入flashhttp://www.aygfsteel.com/yeiwei/archive/2007/03/23/105749.html圣域飞侠圣域飞侠Fri, 23 Mar 2007 02:34:00 GMThttp://www.aygfsteel.com/yeiwei/archive/2007/03/23/105749.htmlhttp://www.aygfsteel.com/yeiwei/comments/105749.htmlhttp://www.aygfsteel.com/yeiwei/archive/2007/03/23/105749.html#Feedback0http://www.aygfsteel.com/yeiwei/comments/commentRss/105749.htmlhttp://www.aygfsteel.com/yeiwei/services/trackbacks/105749.html

学asp。net的同学可能还在疑问是否能播放动画Q其实在asp。net中的swf格式的播攑֒在html中是一L(fng)

你只需要在asp。net中的界面中的<html>?lt;/html>中插入下边的

代码p了?br />  <div   align="center">  
   
  <!----------------------以下代码用来昄flash------------------------->  
   
    <object   classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"   codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"   width="150"   height="280">  
   
    <param   name="movie"       value="你的swf格式的地址">  
   
    <!----   上value值填入flash的地址Q你的flash在本Zq相对地址!---->  
                                                                                                         
    <param   name="quality"   value="high">  
   
    <param   name="SCALE"   value="exactfit">  
                                                                               
    <!----   下src值填入和刚才一L(fng)地址!---->          
                     
    <embed   src="你的swf格式的地址"   width="150"   height="280"   quality="high"   pluginspage="http://www.macromedia.com/go/getflashplayer"   type="application/x-shockwave-flash"   scale="exactfit"></embed>  
                                                                                                       
  </object>  
   
  <!----------------------昄flash代码l束------------------------>  
   
  </div>   
ok?



圣域飞侠 2007-03-23 10:34 发表评论
]]>
վ֩ģ壺 | | | | żҸ| ݳ| | ̩| κ| ɽ| ɽ| ƽ| ϳ| ٰ| | | | ʡ| ԭ| | | | | ɳ| | ɳ| ľ| | ˮ| ̨ɽ| α| | | ׺| ʯ| ƽ| | | ɽ| ˫| ˹|