ASP.NET大数据量查询分页例子
分页这个也是最多人问的,也是很基础很实用的。
网上有很多分页代码,要不是有前台就没后台,要不是有后台没前台,要不是就是控件,要不就是一大堆SQL代码,让人不知道怎样用。
力求最简单最易懂.三层架构那些就不搞了。
如果是access 就用这个SQLHELPER http://hi.csdn.net/link.php?url=http://blog.csdn.net/zzxap
读取邮箱通讯录、MSN好友列表
前段时间项目中要实现一个类似开心网的发送邮箱邀请好友的功能,要读取各邮箱的通讯录及MSN好友列表,在网上查阅了一些资料,也找了一些源码,但都没有读取到。现已实现,拿出来同大家一起分享,提供给项目中有这种需要的朋友使用。
帖子链接:http://topic.csdn.net/u/20100203/15/1204be1a-6225-4168-9ce8-9491555f4e13.html
SpaceBuilder.Framework.dll
SpaceBuilder.Framework.dll
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 有更深的理解。
SQLServer2005分解并导入xml文件[转]
测试环境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# 截取路径中的文件名
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);
让你的VS2005支持离线调试.Net Framework2.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。
.net下的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
...
Microsoft.NET Framework 全面开源
期待已久的.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
为GridView每个单元格鼠标移上去显示div
我这里读的是xml,大家可以参照自己的读取方式将数据转换成表格.
gridview 的RowBound事件里面的内容
//鼠标经过时候显示div
function showdivByCs(table) {
// table=table.replace("&","&");
// table=table.replace(">",">");
// table=table.replace("<","<");
// table=table.replace(""",""");
// table=table.replace("'","'");
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()");
}
}
}

