« 1 2 »

[置顶] Silverlight 2.0正式版下周发布

[置顶] Silverlight 2 Beta2新功能体验

[置顶] Expression Blend 2.5 June Preview

[置顶] Microsoft Silverlight Tools Beta 2 for Visual Studio 2008

[置顶] Silverlight:Silverlight QQ群 欢迎大家

[置顶] 关于Silverlight里中文字无法显示的解決方案[整理]

[置顶] ScottGu的Silverlight2教程配套代码

[置顶] Silverlight 2.0 beta 1 及相关开发工具可以下载了!

SpaceBuilder.Framework.dll

[ 2008年8月10日 ]
Tags:  SpaceBuilder  

SpaceBuilder.Framework.dll

 SpaceBuilder.Framework.rar

阅读全文 | 分类:C# WebForm | 评论:0 | 引用:0 | 浏览:
Tags:  IIS5  IIS6  IIS7  ASP.net  

ASP.NET是一个非常强大的构建Web应用的平台,它提供了极大的灵活性和能力以致于可以用它来构建所有类型的Web应用。
绝大多数的人只熟悉高层的框架如: WebForms 和 WebServices --这些都在ASP.NET层次结构在最高层。

这篇文章的资料收集整理自各种微软公开的文档,通过比较 IIS5、IIS6、IIS7 这三代 IIS 对请求的处理过程, 让我们熟悉 ASP.NET的底层机制 并对请求(request)是怎么从Web服务器传送到ASP.NET运行时有所了解。通过对底层机制的了解,可以让我们对 ASP.net 有更深的理解。
...

阅读全文 | 分类:C# WebForm | 评论:0 | 引用:0 | 浏览:

测试环境SQL2005,windows2003

DECLARE @idoc int;
DECLARE @doc xml;

 
SELECT @doc=bulkcolumn FROM OPENROWSET(
   
BULK 'D: \test.xml',
   SINGLE_BLOB) 
AS x
 
EXEC sp_xml_preparedocument @Idoc OUTPUT, @doc
 
 
SELECT * into #temp FROM OPENXML (@Idoc'/Root/Item',2)
   
WITH (
            
[ID] varchar(10)
           ,
[Name]varchar(10)
           ,
[Caption]varchar(10)
         )
select * from #temp
drop table #temp

/*--文件D: est.xml的文本内容
<?xml version="1.0" encoding="UTF-8"?>
<Root>
  <Item>
    <ID>1</ID>
    <Name>jinjazz</Name>
    <Caption>剪刀</Caption>
  </Item>
  <Item>
    <ID>2</ID>
    <Name>zswang</Name>
    <Caption>伴水</Caption>
  </Item>
</Root>
*/


/*---查询结果
ID         Name       Caption
---------- ---------- ----------
1          jinjazz    剪刀
2          zswang     伴水
*/

 
 

 
...
阅读全文 | 分类:C# WebForm | 评论:0 | 引用:0 | 浏览:

C# 截取路径中的文件名

[ 2008年4月11日 ]
Tags:  C#  
string fullPath="f:studyimages(002.jpg "
int index=fullPath.LastIndexOf(""); 
string fileName=fullPath.SubString(index+1);//文件名 
string fileExtensition=System.IO.Path.GetExtension(fullPath);//扩展名

 

        string strFile = @"c:abce.jpg"
        
string strEx = System.IO.Path.GetExtension(strFile); //  返回 .jpg 
        string strName = System.IO.Path.GetFileName(strFile); //返回 e.jpg

 

string  imgname = FileUpload1.PostedFile.FileName;
               
string imgType = imgname.Substring(imgname.LastIndexOf("."+ 1);
               
string quanname =DateTime.Now.ToString("yyyyMMddHHmmss")+imgname.LastIndexOf("\")+"."+imgType ;
               
if ("gif" != imgType && "jpg" != imgType && "GIF" != imgType && "JPG" != imgType)
                
{
                    Response.Write(
"<script>alert('请选择gif,jpg格式的文件!');</script>");
                    
return;
                }

 

            string test="C:\Documents and Settings\Lenovo User\桌面\code.txt"
            
int i; 
            String FileName; 
            i
=test.LastIndexOf("\");          
            FileName
=test.Substring(i + 1);      
            


 

...
阅读全文 | 分类:C# WebForm | 评论:0 | 引用:0 | 浏览:

伴随着VS2008的发布,迫于开源的压力和帮助推广VS2008这两方面的原因,微软允许VS2008在debugging时,可以查看并调试Net Framework的一些源代码,前提是您的电脑必须是联网状态,而是只支持VS2008,却不支持已被广泛使用的VS2005,这两天看了一些牛人(国外的)的文章,发现国外的人就是牛,有两个家伙就开发了一个小工具(http://www.codeplex.com/NetMassDownloader),可以把.NET Framework的源码给下载下来。同时支持在VS2005上进行离线调试。早有朋友已经写过类似的文章,我就不多说了,我今天在这里主要把安装的步骤给写下来,希望对需要的朋友有所帮助。

第一步:下载.NET Mass Downloader.
第二步:下载.NET Framework3.5的安装文件,这是完整的可再发行组件包。有190多MB,下载完成后,安装它。
第三步:找到文件下载的目录。例如,我把文件放在的C盘的跟目录,文件的解压后的目录为C:\NetMassDownloader,然后我们运行cmd.exe,指向我刚才解压的目录:

第四步:对NetMassDownloader的参数进行设置,我是这样设置的。

这条命令我解释一下:
(1)-d C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727是我们安装.net2.0时,.net类库存放的文件夹。
(2)-output E:\NETFramework2.0是我们存放下载的.Net Framework的源代码的文件夹。这个目录你可以自定义,不一定非要和我写的一样。
(3)-vsver 8.0 表示我们要下载的源代码的版本是.net2.0
netmassdownloader.exe还有其他一些参数可以设置,大家输入netmassdownloader.exe /?就可以查看。在此就不罗嗦了。

参数配置好后,我们允许它,我们不要关闭它,.net framework的源代码大概有120多MB,我们耐心等待就行了,在运行的时候,可能会出现一些文件找不到的信息,我们不要管它。

第五步:源代码下载完成后,我们开始配置VS2005。
 

...
阅读全文 | 分类:C# WebForm | 评论:0 | 引用:0 | 浏览:

.net下的MD5加密应用

[ 2008年1月18日 ]
Tags:  .net MD5 MD5加密  
C#用法

    
/// <param name="sDataIn">需要加密的字符串</param>
    
/// <param name="move">偏移量</param>
    
/// <returns>sDataIn加密后的字符串</returns>

    public string GetMD5(string sDataIn, string move)
    
{
        System.Security.Cryptography.MD5CryptoServiceProvider md5 
= new System.Security.Cryptography.MD5CryptoServiceProvider();
        
byte[] bytValue, bytHash;
        bytValue 
= System.Text.Encoding.UTF8.GetBytes(move + sDataIn);
        bytHash 
= md5.ComputeHash(bytValue);
        md5.Clear();
        
string sTemp = "";
        
for (int i = 0; i < bytHash.Length; i++)
        
{
            sTemp 
+= bytHash[i].ToString("x").PadLeft(2'0');
        }

        
return sTemp;
}


textBox1.Text 
= this.GetMD5("123456","");
结果: e10adc3949ba59abbe56e057f20f883e

 另类应用

C#用法

    
/// <param name="sDataIn">需要加密的字符串</param>
    
/// <param name="move">偏移量</param>
    
/// <returns>sDataIn加密后的字符串</returns>

    public string GetMD5(string sDataIn, string move)
    
{
        System.Security.Cryptography.MD5CryptoServiceProvider md5 
= new System.Security.Cryptography.MD5CryptoServiceProvider();
        
byte[] bytValue, bytHash;
        bytValue 
= System.Text.Encoding.UTF8.GetBytes(move + sDataIn);
        bytHash 
= md5.ComputeHash(bytValue);
        md5.Clear();
        
string sTemp = "";
        
for (int i = 0; i < bytHash.Length; i++)
        
{
            sTemp 
+= bytHash[i].ToString("x").PadLeft(2'0');
        }

        
return sTemp;
}


textBox1.Text 
= this.GetMD5("123456","");
结果: e10adc3949ba59abbe56e057f20f883e

 

...
阅读全文 | 分类:C# WebForm | 评论:0 | 引用:0 | 浏览:

期待已久的.NET Framework终于在本周开源了,微软在MS-RL协议下终于公开了.NET Framework源代码,我们只可以自由查看,不允许直接进行修改。
第一批开放的源代码包括:

 

.NET基本类库:
System,System.CodeDom,System.Collections,System.ComponentModel, System.Diagnostics, System.Drawing, System.Globalization, System.IO, System.Net, System.Reflection, System.Runtime, System.Security, System.Text, System.Threading

ASP.NET:
System.Web, System.Web.Extensions

Windows Forms:
System.Windows.Forms

Windows Presentation Foundation:
System.Windows

ADO.NET和 XML:
System.Data
System.Xml

详情请访问ScottGu的文章:http://weblogs.asp.net/scottgu/archive/2008/01/16/net-framework-library-source-code-now-available.aspx
如何在Visual Studio 2008中进行配置请参考这篇文章:Configuring Visual Studio to Debug .NET Framework Source Code

...
阅读全文 | 分类:C# WebForm | 评论:0 | 引用:0 | 浏览:
Tags:  GridView div  

我这里读的是xml,大家可以参照自己的读取方式将数据转换成表格.

 

 gridview 的RowBound事件里面的内容

//鼠标经过时候显示div    
function showdivByCs(table) {

//    table=table.replace("&amp;","&");
//
    table=table.replace("&gt;",">");
//
    table=table.replace("&lt;","<");
//
    table=table.replace("&quot;",""");
//
    table=table.replace("&apos;","'");

var x = window.event.x;
var y = window.event.y;
var show = document.getElementById("ShowInfo");
show.style.visibility 
= "visible";
show.style.top 
= y;
show.style.left 
= x;
show.style.background
="#ffff00";

//读取xml
document.getElementById("sp").innerHTML=table;

//div跟随鼠标
document.onmousemove = moveToMouseLoc;

}


//鼠标移动时候div跟随
function moveToMouseLoc(e)
{
    x 
= window.event.x;
    y 
= window.event.y;
  
var show = document.getElementById("ShowInfo");
  show.style.left 
= x;
  show.style.top 
= y;
  
return true;
}

javascript 里的内容

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    
{
        
if (e.Row.RowType == DataControlRowType.DataRow)
        
{
            
// DataSet ds = new DataSet();

            
for (int i = 0; i < e.Row.Cells.Count; i++)
            
{

                
string table = "<table cellspacing='0' rules='all' bordercolorlight='#b4b1b1' bordercolordark='#ffffff' border='1'><tr class='title'><td>数据来源</td><td>" + GridView1.Columns[i].HeaderText.ToString() + "</td></tr>";
                XmlDocument xmlDoc 
= new XmlDocument();
                xmlDoc.LoadXml(LbHiddenGrid.Text);
                
//xmlDoc.SelectSingleNode("/Datas/notes[@id='" + i + "']/Source[@Desc='成考']/Data/Year");
                
//xmlDoc.SelectSingleNode("/Datas/notes[@id='" + i + "']/Source[@Desc='成考']/Data/Year").FirstChild.Value
                foreach (XmlNode childnode in xmlDoc.SelectSingleNode("/Datas/notes[@id='" + e.Row.RowIndex.ToString() + "']"))
                
{
                    
//XmlNode childnode = xmlDoc.SelectSingleNode("/Datas/notes[@id='" + e.Row.RowIndex.ToString() + "']");
                    
//for (int j = 0; j < xmlDoc.SelectSingleNode("/Datas/notes[@id='" + e.Row.RowIndex.ToString() + "']").ChildNodes.Count; j++)
                    
//{

                    table 
+= "<tr><td>";
                    
string name = childnode.Attributes.GetNamedItem("Desc").InnerText;
                    table 
+= name + "</td><td>";
                    
string value = childnode.SelectSingleNode("Data/" + ((BoundField)(GridView1.Columns[i])).DataField).InnerText;
                    table 
+= value + "</td></tr>";
                    
//childnode.SelectSingleNode("/Data/" );                        
                    
//ds.ReadXml(XmlReader.Create(new System.IO.StringReader(childnode.FirstChild.OuterXml)));
                    
//}
                }

                table 
+= "</table>";
                
//string ss = Server.HtmlEncode(table);
                e.Row.Cells[i].Attributes.Add("onmouseover""showdivByCs("" + table + "")");
                e.Row.Cells[i].Attributes.Add(
"onmouseout""Remove()");
            }

        }

    }


 

...
阅读全文 | 分类:C# WebForm | 评论:0 | 引用:0 | 浏览:

遍历Page的Controls集合[转]

[ 2008年1月17日 ]
Tags:  Page Controls  
foreach(Control ctl in Page.Controls)
   {
      Response.Write("<li>"+ctl.ToString());
   }
   上述代码并不显示包含在页面内的所有控件列表,它只显示Page类的直接子控件,而不再显示这些子控件的任何子控件。如果要显示页面内的所有控件,就可以递归地遍历每个控件的Controls集合,如:


#region 清空指定页面上所有的控件内容,public static void ClearAllContent()
/// <summary>
/// 清空指定页面上所有的控件内容,包括TextBox,CheckBox,CheckBoxList,RadioButton,RadioButtonList。但是不清
/// 除如ListBox,DropDownList,因为这样的控件值对当前页面来说还可以用,一般这些控件里都是保存的字典数据。
/// </summary>
/// <param name="page"> 指定的页面</param>
public static void ClearAllContent(System.Web.UI.Control page)
{
int nPageControls = page.Controls.Count;
for (int i = 0; i < nPageControls; i++)
{
foreach (System.Web.UI.Control control in page.Controls[i].Controls)
{
if (control.HasControls())
{
ClearAllText(control);
}
else
{
if (control is TextBox)
(control as TextBox).Text = "";

if (control is CheckBox)
(control as CheckBox).Checked = false;

if (control is RadioButtonList)
(control as RadioButtonList).SelectedIndex = -1;

if (control is RadioButton)
(control as RadioButton).Checked = false;

if (control is CheckBoxList)
{
foreach (ListItem item in (control as CheckBoxList).Items)
{
item.Selected = false;
}
}
}//if..else
}//foreach
}//for
}
#endregion

...
阅读全文 | 分类:C# WebForm | 评论:0 | 引用:0 | 浏览:
Tags:  C#  

/**//// <summary>
/// 获取一年中指定的一周的开始日期和结束日期。开始日期遵循ISO 8601即星期一。
/// </summary>
/// <remarks>Write by vrhero</remarks>
/// <param name="year">年(1 到 9999)</param>
/// <param name="weeks">周(1 到 53)</param>
/// <param name="weekrule">确定首周的规则</param>
/// <param name="first">当此方法返回时,则包含参数 year 和 weeks 指定的周的开始日期的 System.DateTime 值;如果失败,则为 System.DateTime.MinValue。如果参数 year 或 weeks 超出有效范围,则操作失败。该参数未经初始化即被传递。</param>
/// <param name="last">当此方法返回时,则包含参数 year 和 weeks 指定的周的结束日期的 System.DateTime 值;如果失败,则为 System.DateTime.MinValue。如果参数 year 或 weeks 超出有效范围,则操作失败。该参数未经初始化即被传递。</param>
/// <returns>成功返回 true,否则为 false。</returns>
public static bool GetDaysOfWeeks(int year, int weeks, CalendarWeekRule weekrule, out DateTime first, out DateTime last)
{
    //初始化 out 参数
    first = DateTime.MinValue;
    last = DateTime.MinValue;

    //不用解释了吧
    if (year < 1 | year > 9999)
        return false;

    //一年最多53周地球人都知道
    if (weeks < 1 | weeks > 53)
        return false;

    //取当年首日为基准为什么?容易得呗
    DateTime firstCurr = new DateTime(year, 1, 1);
    //取下一年首日用于计算
    DateTime firstNext = new DateTime(year + 1, 1, 1);

    //将当年首日星期几转换为数字星期日特别处理ISO 8601 标准
    int dayOfWeekFirst = (int)firstCurr.DayOfWeek;
    if (dayOfWeekFirst == 0) dayOfWeekFirst = 7;

    //得到未经验证的周首日
    first = firstCurr.AddDays((weeks - 1) * 7 - dayOfWeekFirst + 1);

    //周首日是上一年日期的情况
    if (first.Year < year)
    {
        switch (weekrule)
        {
            case CalendarWeekRule.FirstDay:
                //不用解释了吧
                first = firstCurr;
                break;
            case CalendarWeekRule.FirstFullWeek:
                //顺延一周
                first = first.AddDays(7);
                break;
            case CalendarWeekRule.FirstFourDayWeek:
                //周首日距年首日不足4天则顺延一周
                if (firstCurr.Subtract(first).Days > 3)
                {
                    first = first.AddDays(7);
                }
                break;
            default:
                break;
        }
    }

    //得到未经验证的周末日
    last = first.AddDays(7).AddSeconds(-1);

    //周末日是下一年日期的情况
    if (last.Year > year)
    {
        switch (weekrule)
        {
            case CalendarWeekRule.FirstDay:
                last = firstNext.AddSeconds(-1);
                break;
            case CalendarWeekRule.FirstFullWeek:
                //不用处理
                break;
            case CalendarWeekRule.FirstFourDayWeek:
                //周末日距下一年首日不足4天则提前一周
                if (firstNext.Subtract(first).Days < 4)
                {
                    first = first.AddDays(-7);
                    last = last.AddDays(-7);
                }
                break;
            default:
                break;
        }
    }
    return true;
}

...
阅读全文 | 分类:C# WebForm | 评论:0 | 引用:0 | 浏览:
分页: « 1 2 »