摘要: 秋风 (转自 DotNet笔记.).NET自带的有MAIL类,可以自己发邮件,不过要SMTP服务器的支持 对于我们这些寄居于别人服务器的,一般都没有装,就要用到第三方免费邮件提供商 因为没有验证用户信息,发出的信件会被很多服务器所拒收,还是用JMAIL发吧 安装JMAIL组件,在VS里添加对组件的引用程序代码 usingSystem; usingSystem.Web.Util; usingSyst...阅读全文
posted @ 2007-06-22 10:11 AutumnWind 阅读(231) 评论(0) 编辑
VS2005发布、生成网站时如何设置固定的dll文件名?
分类:知识收藏时间:2008-6-4 11:49:31作者:FY100
标签:CS2005    

导读:以前不知道怎么用发布网站的功能,网站设计好了,把全部源码放到了服务器上。原来使用发布网站的功能,可以对所有cs文件进行编译生成dll文件。这样上传到服务器之后,就不用再次进行编译了。

可是如果我修改了某一个文件,岂不是又要整站编译一次?

另外,如果我不是使用代码与页面分析的设计呢?是不是会把<script>里面的代码抽出来呢?

下面这篇文章讲述怎么生成固定文件名的dll,还介绍了一个把所有代码生成在同一个dll中的插件,非常不错。转载于此。

///转载开始

在用VS2005发布网站项目时,默认生成bin目录下的.dll文件名是随机命名的;

如果要固定生成文件名如何固定呢?有以下两种方案:

一、每个页面的程序集分别生成对应的dll;

方法:在“发布网站”的选项中,勾选“使用固定命名和单页程序集” 

二、整个站点的程序集都生成为一个文件; 

方法:需下载MS提供的插件,经过简单的设置可生成自定义的文件名(.dll): 

Web Deployment Projects with Visual Studio 2005

下载地址:http://download.microsoft.com/download/c/c/b/ccb4877f-55f7-4478-8f16-e41886607a0e/WebDeploymentSetup.msi

MSDN说明:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/web_deployment_projects.asp

简单操作如下:

1.下载后直接安装,安装完后打开VS2005;

2.在[生成]->[发布网站]下面会多出一项[Add Web Deployment Project],也可在要发布的网站项目上点右键.直接选取[Add Web Deployment Project],弹出属性对话框后.设置好指定名称和存放目录添加后,可以看到当前解决方案中多了一项,有很多其它属性,就自己去设置了;

3.在刚添加的方案中点右键->[生成],就会生成相应文件和目录了

posted @ 2008-08-06 09:43 AutumnWind 阅读(844) 评论(0) 编辑
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.ComponentModel;

public partial class UserControl_prlist : System.Web.UI.UserControl
{
    
protected void Page_Load(object sender, EventArgs e)
    {
        
//if (IsPostBack)
        
//{

            Hisidon.Components.DB db 
= new Hisidon.Components.DB();
            
this.ViewState["ds"= db.getDataSet("select * from 产品类别表 order BY 排序");
            db.Free();
            TreeView1.Nodes.Clear();
            AddTree(
0, (TreeNode)null);

          
//  TreeView1.CollapseAll();

           
//展开2层
           
// TreeNodeCollection collection = TreeView1.Nodes;
            
            
            
//foreach (TreeNode node in collection)
            
//{
            
//     node.Expand();
            
//}
            
//收缩所有
            ExpandNodes(TreeView1, false);

            bindclass();
  
    }

    
public void ExpandNodes(TreeView treeview, bool Expand)
    {
        
foreach (TreeNode n in treeview.Nodes)
        {
            n.Expanded 
= Expand;
          
//  ExpandNodes(n, Expand);
        }
    }
    
public string isclass()
    {
        
if (Repeater2.Items.Count == 0)
        {
            
return "暂无类别";
        }
        
return "";
    }
    
void bindclass()
    {
        Hisidon.Components.DB db 
= new Hisidon.Components.DB();
        db.bindRepeater(
"SELECT [产品类别名称], [产品类别编号], [品牌图标] FROM [产品类别表] where 品牌图标 <>'' and 是否推荐 =1 ORDER BY [排序]",Repeater2);

        db.Free();
    }
    
//递归添加树的节点
    public void AddTree(int ParentID, TreeNode pNode)
    {
        DataSet ds 
= (DataSet)this.ViewState["ds"];
        DataView dvTree 
= new DataView(ds.Tables[0]);

        
//过滤父编号,得到当前的所有子节点
        dvTree.RowFilter = "[上级父编号] = " + ParentID;

        
foreach (DataRowView Row in dvTree)
        {
            TreeNode Node 
= new TreeNode();
            
if (pNode == null)
            {    
//添加根节点
                Node.Text = Row["产品类别名称"].ToString();

                Node.NavigateUrl 
= "../class.aspx?classid=" + Row["产品类别编号"].ToString();

                TreeView1.Nodes.Add(Node);
                Node.Expanded 
= true;
                AddTree(Int32.Parse(Row[
"产品类别编号"].ToString()), Node);        //再次递归
            }
            
else
            {   
//̀添加当前节点的子节点
                Node.Text = Row["产品类别名称"].ToString();
                Node.NavigateUrl 
= "../class.aspx?classid=" + Row["产品类别编号"].ToString();

                pNode.ChildNodes.Add(Node);
                Node.Expanded 
= true;
                AddTree(Int32.Parse(Row[
"产品类别编号"].ToString()), Node);     //再次递归
            }
        }
    }
}
 
posted @ 2008-08-05 14:41 AutumnWind 阅读(363) 评论(0) 编辑
下面贴上代码很简单 自己研究
private void FileDown(string strPath)
    {
        System.IO.FileInfo file 
= new System.IO.FileInfo(strPath);
        
if (file.Exists)
        {
            Response.Clear();
            Response.AddHeader(
"Content-Disposition""attachment; filename=" + HttpUtility.UrlEncode(file.FullName, System.Text.Encoding.UTF8));
            Response.AddHeader(
"Content-Length", file.Length.ToString());
            Response.ContentType 
= "application/octet-stream";
            Response.Filter.Close();
            Response.WriteFile(file.FullName);
            Response.End();
        }
        
else
        {
            ClientScript.RegisterStartupScript(GetType(), 
"""<script language='javascript'>alert('文件不存在!');</script>");
        }
    } 
posted @ 2008-07-15 09:39 AutumnWind 阅读(728) 评论(0) 编辑
1  for(i=0;i<document.all.tags("input").length;i++)   
2  { if(document.all.tags("input")[i].type=="text")
3     document.all.tags("input")[i].value='';   
4   }
posted @ 2008-07-13 10:38 AutumnWind 阅读(284) 评论(0) 编辑

 

//使用C#把发表的时间改为几个月,几天前,几小时前,几分钟前,或几秒前
//2008年03月15日 星期六 02:35
C#
public string DateStringFromNow(DateTime dt)    
{    
TimeSpan span 
= DateTime.Now - dt;    
if (span.TotalDays >60)    
{    
return dt.ToShortDateString();    
}
    
else
if ( span.TotalDays >30 )    
{    
return
"1个月前";    
}
    
else
if (span.TotalDays >14)    
{    
return
"2周前";    
}
    
else
if (span.TotalDays >7)    
{    
return
"1周前";    
}
    
else
if (span.TotalDays >1)    
{    
return
string.Format("{0}天前", (int)Math.Floor(span.TotalDays));    
}
    
else
if (span.TotalHours >1)    
{    
return
string.Format("{0}小时前", (int)Math.Floor(span.TotalHours));    
}
    
else
if (span.TotalMinutes >1)    
{    
return
string.Format("{0}分钟前", (int)Math.Floor(span.TotalMinutes));    
}
    
else
if (span.TotalSeconds >=1)    
{    
return
string.Format("{0}秒前", (int)Math.Floor(span.TotalSeconds));    
}
    
else 
{    
return
"1秒前";    
}
    
}




//C#中使用TimeSpan计算两个时间的差值
//可以反加两个日期之间任何一个时间单位。
private string DateDiff(DateTime DateTime1, DateTime DateTime2)
{string dateDiff = null
TimeSpan ts1 
= new TimeSpan(DateTime1.Ticks);
TimeSpan ts2 
= new TimeSpan(DateTime2.Ticks);
TimeSpan ts 
= ts1.Subtract(ts2).Duration();
dateDiff 
= ts.Days.ToString()+""+ ts.Hours.ToString()+"小时"+ ts.Minutes.ToString()+"分钟"+ ts.Seconds.ToString()+"";
return dateDiff;
}
 

TimeSpan ts 
= Date1 - Date2; 
double dDays = ts.TotalDays;//带小数的天数,比如1天12小时结果就是1.5 
int nDays = ts.Days;//整数天数,1天12小时或者1天20小时结果都是1 

//说明:
/*1.DateTime值类型代表了一个从公元0001年1月1日0点0分0秒到公元9999年12月31日23点59分59秒之间的具体日期时刻。因此,你可以用DateTime值类型来描述任何在想象范围之内的时间。一个DateTime值代表了一个具体的时刻
2.TimeSpan值包含了许多属性与方法,用于访问或处理一个TimeSpan值
下面的列表涵盖了其中的一部分:
Add:与另一个TimeSpan值相加。 
Days:返回用天数计算的TimeSpan值。 
Duration:获取TimeSpan的绝对值。 
Hours:返回用小时计算的TimeSpan值 
Milliseconds:返回用毫秒计算的TimeSpan值。 
Minutes:返回用分钟计算的TimeSpan值。 
Negate:返回当前实例的相反数。 
Seconds:返回用秒计算的TimeSpan值。 
Subtract:从中减去另一个TimeSpan值。 
Ticks:返回TimeSpan值的tick数。 
TotalDays:返回TimeSpan值表示的天数。 
TotalHours:返回TimeSpan值表示的小时数。 
TotalMilliseconds:返回TimeSpan值表示的毫秒数。 
TotalMinutes:返回TimeSpan值表示的分钟数。 
TotalSeconds:返回TimeSpan值表示的秒数。
*/


/// <summary>
/// 日期比较
/// </summary>
/// <param name="today">当前日期</param>
/// <param name="writeDate">输入日期</param>
/// <param name="n">比较天数</param>
/// <returns>大于天数返回true,小于返回false</returns>

private bool CompareDate(string today, string writeDate, int n)
{
DateTime Today 
= Convert.ToDateTime(today);
DateTime WriteDate 
= Convert.ToDateTime(writeDate);
WriteDate 
= WriteDate.AddDays(n);
if (Today >= WriteDate)
return false;
else
return true;

 

posted @ 2008-06-21 09:26 AutumnWind 阅读(923) 评论(3) 编辑
摘要: 动态添加按钮及关联方法(带参数) 问题:商城,商品自定义属性,需要在页面上动态产生按钮及关联到方法并传递参数先写了如下方法1protectedvoidPage_Load(objectsender,EventArgse)2{3ButtonLB=newButton();4LB.Text="测试";5//DIV1是页面上一个DIV6DIV1.Controls.Add(LB);7LB.Click+=new...阅读全文
posted @ 2007-07-09 09:15 AutumnWind 阅读(532) 评论(0) 编辑
摘要: 秋风 (转自 DotNet笔记.).NET自带的有MAIL类,可以自己发邮件,不过要SMTP服务器的支持 对于我们这些寄居于别人服务器的,一般都没有装,就要用到第三方免费邮件提供商 因为没有验证用户信息,发出的信件会被很多服务器所拒收,还是用JMAIL发吧 安装JMAIL组件,在VS里添加对组件的引用程序代码 usingSystem; usingSystem.Web.Util; usingSyst...阅读全文
posted @ 2007-06-22 10:11 AutumnWind 阅读(231) 评论(0) 编辑