posts - 68,  comments - 15,  trackbacks - 3
  置顶随笔
System里有这么几种类:
CTS(通用类别),比如:Int32、Boolean、Char等等,最基础的Object也在此。
Console:不用多说了吧,都知道它的作用。
Math:数学公式类。
Enviroment:获得环境信息,可以用来获得当前exe的路径,以及命令行参数等等。
GC:垃圾回收机制。
Random:随机数。
System的下一级命名空间就更多了,包括这些:
1、Collections:集合框架,如 Hashtable、List、Queue等等都在这里,尤其在vs2005里,又增加了泛形。
2、ComponentModel:用于创建.Net框架的组件基础类。
3、Configuration:提供了访问应用程序配置文件中信息的类。
4、Data:大多数人都用的到的类库,访问数据库对象。
5、Diagnostics:用于调试的类库,很少人会用到它,事实上这里有不少东西很有用,比如:Trace,这就和以前的MFC里的Trace一样的用处。
6、DirectoryServices:这也很少用到,但是估计以后会用的比较多,因为访问目录服务需要用到它,以后很多单点登陆的集成应用都要集成LDAP,这里就是提供如何访问LDAP目录服务的类。
7、Drawing:画图类库,即所谓的GDI+。
8、EnterpriseServices:企业级服务,事实上是包装了一层Com+事务的支持。用于分布式应用。
9、Globalization:国际化。
10、IO:最常用的类库,读写IO。
11、Management:提供了访问WMI管理设备的接口。事实上我觉得没多大用处,更经常是用以前的VC++ 6.0来处理这些WMI接口。
12、Messaging:消息服务,访问MSMQ的类库。
13、Net:访问网络。
14、Reflection:很多人觉得神奇的一个类库,即所谓的“反射”,事实上这里的类的作用远远不止用于反射。
15、Resources:访问资源文件的类库。就像以前的vc++里用于访问res、rc等文件一样
16、Runtime:底层开发人员会感兴趣的地方,下面又分为很多个子空间,比如:Remoting、Serialization等。
17、Security:安全相关的类库。
18、ServiceProcess:用于创建Windows服务的类库。
19、Text:字符编码互相转换的地方,另外还有一个有趣的东西,正则表达式解析。
20、Timer:定时器。
21、Web:asp.net、web service都依赖的类库。
22、Windows.Forms:不用多说了吧。
23、XML:处理XML的地方。
posted @ 2007-06-22 14:43 网碾平 阅读(70) | 评论 (0)编辑
  2008年6月16日

        /// <summary> 从DLL获取对象
        /// </summary>
        /// <param name="PControl"></param>
        /// <param name="dllPath"></param>
        /// <param name="NameSpacePath"></param>
        /// <param name="className"></param>
        public object LoadObjectByDll(string dllPath, string NameSpacePath, string className,bool isExePreLoad)
        {
            try
            {
                //加载控件        
                System.Reflection.Assembly assembly = System.Reflection.Assembly.LoadFrom(dllPath);
                //获得类(型)        
                Type type = assembly.GetType(String.Format("{0}.{1}", NameSpacePath, className), false, true);
                //设置筛选标志        
                System.Reflection.BindingFlags bflags = System.Reflection.BindingFlags.DeclaredOnly | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance;
                //调用构造函数并获得对象        
                Object obj = type.InvokeMember(className, bflags | System.Reflection.BindingFlags.CreateInstance, null, null, null);
                //if (isExePreLoad)
                //{
                //    object obj2;
                //    PropertyInfo info = type.GetProperty("isPreLoad");
                //    obj2 = info.GetValue(obj,null);
                //    //obj2 = type.InvokeMember("isPreLoad", BindingFlags.GetProperty | BindingFlags.Public, null, (IPlugin)obj, null);
                //    if (obj2.ToString().ToLower() == "true")
                //    {
                //        MethodInfo mi = type.GetMethod("PreLoad");
                //        mi.Invoke(obj, null);
                //    }
                //}
                return obj;
            }
            catch (Exception ex)
            {
                throw ex;
                //MessageBox.Show("加载插件失败!请验证插件的正确性...", "错误");
            }
        }
posted @ 2008-06-16 16:22 网碾平 阅读(28) | 评论 (0)编辑
  2008年4月24日
格式化整个块   Ctrl+K+D
竖向区域选择   Alt键,拖运鼠标
查找匹配的标记  Ctrl+] //使用时光标定位到标记处,如: {},()等
显亮两个匹配的标识之间的所有代码   Ctrl-Shift-]
跳转的方法的定义  F12
实用预定义的代码片断     Tab    //写For之类的后,按Tab
设计视图和代码(cs)文件切换  F7
字符串大小写切换   Ctrl+Shift+U  Ctrl+U

待续.......
也请各位网友回复添加,请保证正确
posted @ 2008-04-24 15:57 网碾平 阅读(61) | 评论 (0)编辑
  2008年3月24日
一. .NET连接Oralce数据库
<add name="ConnectionString" connectionString="Data Source=Oralce客户端中显示的数据库名称;Persist Security Info=True;User ID=Oralce客户端中显示的SID;Password=密码;Unicode=True"
   providerName="System.Data.OracleClient" />
Oracle参数以:开头

二. 使用ODBC  ORalce连接
选择Oralce in驱动,Data Source Name为DNS名称(根据自己需要填写),TNSServiceName为Oralce客户端中显示的数据库名称,然后输入用户名和密码即可
以下注意:

1. 安装Oralce Client  2.添加 ODBC,我添加的是系统DNS  3.在程序中连接ODBC
常见问题:
1. 由于系统错误   5   (Oracle   in   OraHome92),指定驱动程序无法加载。
文件夹权限问题 , 因为ODBC要去oracle92的安装目录中读取驱动
  启动IIS进程账号(IWAP_机器名)对ora92没有任何权限,给加上就可以了。  
  更改方法:  
  1。找到oracle92的安装目录,例如:D:\oracle\ora92  
  2.察看文件夹的属性--〉安全,把IWAP_user这个账号加进去,只要有读取权限就能运行了。  
   
  也可以把这个账号加到具有访问Ora92文件夹的用户组中,比如系统用户,不过可能不太安权,呵呵
posted @ 2008-03-24 16:50 网碾平 阅读(77) | 评论 (0)编辑
  2008年3月14日

using System;
using System.Windows.Forms;
using System.Web;
using System.Security.Permissions;

namespace WindowsFormsApplication2
{
    [PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
    [System.Runtime.InteropServices.ComVisibleAttribute(true)]

    public partial class JsCallWinFun : Form
    {
        private WebBrowser webBrowser1 = new WebBrowser();
        private Button button1 = new Button();

        //[STAThread]
        //public static void Main()
        //{
        //    Application.EnableVisualStyles();
        //    Application.Run(new Form1());
        //}

        public JsCallWinFun()
        {
            button1.Text = "call script code from client code";
            button1.Dock = DockStyle.Top;
            button1.Click += new EventHandler(button1_Click);
            webBrowser1.Dock = DockStyle.Fill;
            Controls.Add(webBrowser1);
            Controls.Add(button1);
            Load += new EventHandler(Form1_Load);
        }

        private void Form1_Load(object sender, EventArgs e)
        {//客户端脚本调用WinFrom方法示例
            webBrowser1.AllowWebBrowserDrop = false;
            webBrowser1.IsWebBrowserContextMenuEnabled = true;
            webBrowser1.WebBrowserShortcutsEnabled = false;
            webBrowser1.ObjectForScripting = this;
            // Uncomment the following line when you are finished debugging.
            //webBrowser1.ScriptErrorsSuppressed = true;

            webBrowser1.DocumentText =
                "<html><head><script>" +
                "function test(message) { alert(message); }" +
                "</script></head><body><button " +
                "onclick=\"window.external.Test('called from script code')\">" +
                "call client code from script code</button>" +
                "</body></html>";
        }

        public void Test(String message)
        {
            MessageBox.Show(message, "client code");
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //WinFrom调用客户端脚本示例
            webBrowser1.Document.InvokeScript("test",
                new String[] { "called from client code" });
        }
    }
}

posted @ 2008-03-14 17:01 网碾平 阅读(134) | 评论 (0)编辑
/// <summary>  登录
        
/// </summary>
        
/// <param name="url"></param>
        
/// <param name="paramList"></param>
        
/// <returns></returns>

        public static string Login(String url, String paramList)
        
{
            HttpWebResponse res 
= null;
            
string strResult = "";
            
try
            
{
                HttpWebRequest req 
= (HttpWebRequest)WebRequest.Create(url);
                req.Method 
= "POST";
                req.ContentType 
= "application/x-www-form-urlencoded";
                req.AllowAutoRedirect 
= false;
                CookieContainer cookieCon 
= new CookieContainer();
                req.CookieContainer 
= cookieCon;
                StringBuilder UrlEncoded 
= new StringBuilder();
                Char[] reserved 
= '?''=''&' };
                
byte[] SomeBytes = null;
                
if (paramList != null)
                
{
                    
int i = 0, j;
                    
while (i < paramList.Length)
                    
{
                        j 
= paramList.IndexOfAny(reserved, i);
                        
if (j == -1)
                        
{
                            UrlEncoded.Append(HttpUtility.UrlEncode(paramList.Substring(i, paramList.Length 
- i)));
                            
break;
                        }

                        UrlEncoded.Append(HttpUtility.UrlEncode(paramList.Substring(i, j 
- i)));
                        UrlEncoded.Append(paramList.Substring(j, 
1));
                        i 
= j + 1;
                    }

                    SomeBytes 
= Encoding.UTF8.GetBytes(UrlEncoded.ToString());
                    req.ContentLength 
= SomeBytes.Length;
                    Stream newStream 
= req.GetRequestStream();
                    newStream.Write(SomeBytes, 
0, SomeBytes.Length);
                    newStream.Close();
                }

                
else
                
{
                    req.ContentLength 
= 0;
                }


                res 
= (HttpWebResponse)req.GetResponse();
                cookieheader 
= req.CookieContainer.GetCookieHeader(new Uri(url));
                Stream ReceiveStream 
= res.GetResponseStream();
                Encoding encode 
= System.Text.Encoding.GetEncoding("GBK");
                StreamReader sr 
= new StreamReader(ReceiveStream, encode);
                Char[] read 
= new Char[256];
                
int count = sr.Read(read, 0256);
                
while (count > 0)
                
{
                    String str 
= new String(read, 0, count);
                    strResult 
+= str;
                    count 
= sr.Read(read, 0256);
                }

            }

            
catch (Exception e)
            
{
                strResult 
= e.ToString();
            }

            
finally
            
{
                
if (res != null)
                
{
                    res.Close();
                }

            }

            
return strResult;
        }

        
/// <summary>  获取页面HTML
        
/// </summary>
        
/// <param name="url"></param>
        
/// <param name="paramList"></param>
        
/// <returns></returns>

        public static string getPage(String url, String paramList)
        
{
            HttpWebRequest req 
= (HttpWebRequest)WebRequest.Create(url);
            req.Headers[
"If-None-Match"= "36d0ed736e88c71:d9f";
            req.Referer 
= "http://website/login.do";
            CookieContainer cookieCon 
= new CookieContainer();
            req.CookieContainer 
= cookieCon;
            req.CookieContainer.SetCookies(
new Uri(url), cookieheader);
            HttpWebResponse res 
= (HttpWebResponse)req.GetResponse();
            StreamReader sr 
= new StreamReader(res.GetResponseStream(),Encoding.Default);
            
string strResult = sr.ReadToEnd();
            sr.Close();
            
return strResult;
        }
调用:

        string postData = "userName=admin&password=pass&area=2006&Submit=%B5%C7+%C2%BC";            
        string strLogin, strResult;
        strLogin = Login("http://website/login.do", postData);

         strResult = getPage("http://website/tohjtree.do", "");
//输出
         this.webBrowser1.Document.Write(strResult);

posted @ 2008-03-14 16:55 网碾平 阅读(314) | 评论 (0)编辑
  2008年3月10日

<%@ Page Language="C#" %>
<!DOCTYPE Html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html XMLns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Client Event Example</title>
    <style type="text/Css">
    #OuterPanel { width: 600px; height: 200px; border: 2px solid blue; }
    #NestedPanel { width: 596px; height: 60px; border: 2px solid green;
                   margin-left:5 px; margin-right:5px; margin-bottom:5px;}
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        <Scripts>
           <asp:ScriptReference Path="ClientEventTest.js" />
        </Scripts>
        </asp:ScriptManager>
        <asp:UpdatePanel ID="OuterPanel" UpdateMode="Conditional" runat="server">
        <ContentTemplate>
            Postbacks from inside the outer panel and inner panel are
            asynchronous postbacks. PRM = Sys.WebForms.PageRequestManager. APP = Sys.Application.

            <br /><br />
            <asp:Button ID="OPButton1" Text="Outer Panel Button" runat="server" />
            Last updated on
            <%= DateTime.Now.ToString() %>
            <br /><br />

            <asp:UpdatePanel ID="NestedPanel" UpdateMode="Conditional" runat="server">
            <ContentTemplate>
                <asp:Button ID="NPButton1" Text="Nested Panel 1 Button" runat="server" />

                Last updated on
                <%= DateTime.Now.ToString() %>
                <br />
            </ContentTemplate>
            </asp:UpdatePanel>
        </ContentTemplate>
        </asp:UpdatePanel>

        <input type="button" onclick="Clear();" value="Clear" />

        <asp:Button ID="FullPostBack" runat="server" Text="Full Postback" />
        <a href="http://www.microsoft.com">Test Window Unload</a>
        <br />
        <span id="ClientEvents"></span>   
    </div>
<script type="text/javascript">
// Hook up Application event handlers.
var app = Sys.Application;
app.add_load(ApplicationLoad);
app.add_init(ApplicationInit);
app.add_disposing(ApplicationDisposing);
app.add_unload(ApplicationUnload);


// Application event handlers for component developers.
function ApplicationInit(sender) {
  var prm = Sys.WebForms.PageRequestManager.getInstance();
  if (!prm.get_isInAsyncPostBack())
  {
      prm.add_initializeRequest(InitializeRequest);
      prm.add_beginRequest(BeginRequest);
      prm.add_pageLoading(PageLoading);
      prm.add_pageLoaded(PageLoaded);
      prm.add_endRequest(EndRequest);
  }
  $get('ClientEvents').innerHTML += "APP:: Application init. <br/>";
}
function ApplicationLoad(sender, args) {
  $get('ClientEvents').innerHTML += "APP:: Application load. ";
  $get('ClientEvents').innerHTML += "(isPartialLoad = " + args.get_isPartialLoad() + ")<br/>";
}
function ApplicationUnload(sender) {
  alert('APP:: Application unload.');
}
function ApplicationDisposing(sender) {
  $get('ClientEvents').innerHTML += "APP:: Application disposing. <br/>";
 
}
// Application event handlers for page developers.
function pageLoad() {
  $get('ClientEvents').innerHTML += "PAGE:: Load.<br/>";
}

function pageUnload() {
  alert('Page:: Page unload.');
}

// PageRequestManager event handlers.
function InitializeRequest(sender, args) {
  $get('ClientEvents').innerHTML += "<hr/>";
  $get('ClientEvents').innerHTML += "PRM:: Initializing async request.<br/>"; 
}
function BeginRequest(sender, args) {
  $get('ClientEvents').innerHTML += "PRM:: Begin processing async request.<br/>";
}
function PageLoading(sender, args) {
  $get('ClientEvents').innerHTML += "PRM:: Loading results of async request.<br/>";
  var updatedPanels = printArray("PanelsUpdating", args.get_panelsUpdating());
  var deletedPanels = printArray("PanelsDeleting", args.get_panelsDeleting());
 
  var message = "-->" + updatedPanels + "<br/>-->" + deletedPanels + "<br/>";
 
  document.getElementById("ClientEvents").innerHTML += message;
}
function PageLoaded(sender, args) {
  $get('ClientEvents').innerHTML += "PRM:: Finished loading results of async request.<br/>";
  var updatedPanels = printArray("PanelsUpdated", args.get_panelsUpdated());
  var createdPanels = printArray("PaneslCreated", args.get_panelsCreated());
   
  var message = "-->" + updatedPanels + "<br/>-->" + createdPanels + "<br/>";
       
  document.getElementById("ClientEvents").innerHTML += message;
}
function EndRequest(sender, args) {
  $get('ClientEvents').innerHTML += "PRM:: End of async request.<br/>";
}

// Helper functions.
function Clear()
{
  $get('ClientEvents').innerHTML = "";
}
function printArray(name, arr)
{
    var panels = name + '=' + arr.length;
    if(arr.length > 0)
    {
        panels += "(";
        for(var i = 0; i < arr.length; i++)
        {
            panels += arr[i].id + ',';
        }
        panels = panels.substring(0, panels.length - 1);
        panels += ")";
    }
    return panels;
}
</script>
    </form>
</body>
</html>

posted @ 2008-03-10 08:28 网碾平 阅读(48) | 评论 (0)编辑
  2008年3月7日

Windows Mobile如何观看Webcast

1.下载Windows Media 编码器 9 系列

2.启动Windows Media编码器,在“新建会话”的对话框,选择“转换文件”

3.选择WebCast文件(源文件),输出文件(需要在在mobile上播放的文件)

4.下一步对话框中选择Pocket PC

然后下一步,下一步便可以了.

posted @ 2008-03-07 17:57 网碾平 阅读(35) | 评论 (0)编辑
  2008年1月23日

<script type="text/javascript">
//<input ID="xy" /><input id="xy2" />
//
SetSizeByDrop('WebChart1');
document.onmousemove = this_MouseMove;
var oldCss = "";
function SetSizeByDrop(ID)
{
    
var obj = document.getElementById(ID);
//    var div = document.createElement('<div id="div' + ID + '"></div>');
//
    obj.parentNode.insertBefore(div); div.insertBefore(obj);
//
    div.style.height = obj.offsetHeight; div.style.width = obj.offsetWidth;
    obj.classname = 'vframe';
}

//鼠标移动事件
function this_MouseMove(e){
    
var e, obj;
    obj 
= document.getElementById('WebChart1');
    e
=window.event?window.event:e;
    SetDivFrameStyle(e,obj,oldCss);
}

//设置对象边框及光标样式
function SetDivFrameStyle(e1,obj1,oldCss)
{
    
var b = SetCursorStyle(e1,obj1);
    
if(b)
    
{
        oldCss 
= obj1.className;
        obj1.className 
= 'vframe';
    }

    
else
    
{
        obj1.className 
= oldCss;
    }

}

//设置光标样式
function SetCursorStyle(e2,obj2)
</