Rolls 2011-06-28 16:13
写的够详细,很不错 !
cn731 2011-04-27 10:29
这个是圣殿祭祀上的的原话吧,能先讲解一下再发表这个吗
DCBI 2009-12-10 22:47
刚好我的验证码生成也是用aspx生成的。。路过学习了
月漩涡 2009-05-22 10:51
感谢楼主了。这篇文章解决了我的问题。
dt0801 2008-12-18 16:01
非常谢谢啊!帮了我一个大忙!我在网上找了半个小时。
zhf1206 2008-11-07 10:17
不错,收藏
潘明明 2008-11-03 15:26
总结得很好,非常感谢!
qqliukk 2008-09-12 15:56
good~
gongjing 2008-08-28 16:27
乱说``ActiveX很容易能实现这个功能,这也是ActiveX的安全性广受诟病的一个原因。
是麻烦好不好```
。NET不能批量传是HTML机制限制了。NET对IO文件很多的操作。但在WEB中行不通。所以现在批量只考虑桌面编程,还有个知道的解决方法就是通过FLASH和JS实现。 FLASH有接口操作文件。
lxg 2008-08-13 10:46
按照你以上的办法,我试验了一下
根本就不准确,我打开两个页面,显示在线人数为2人,
但在关掉一个页面,还是2人
这到底是怎么回事???
请高手指教。
是我哪里错了吗?
guoguoguoguoguo 2008-08-12 20:24
放在pageload里面
在一启动时增加了属性,
放在buttonclick中,只有当单击之后才会增加属性,只有双击才能弹出来
菜鸟一个 2008-08-05 10:19
非常好,我一直对这些数据类型有点迷惑。
悟〈--觉 2008-08-04 15:31
这里的东西太全,
Eric.Gan 2008-07-28 10:58
好东西呀,学习了。经验之谈,以后在开发中需要多注意了
xiaopan 2008-05-29 10:44
C# Ftp上传 下载 删除文件 创建目录 删除目录 获得文件列表等
guojin 2008-05-26 14:21
卖疙瘩
guojin 2008-05-26 14:20
你这个只是在客户端,人家要是想统计到服务器端呢?别告诉我又是ajax
chihchen 2008-04-12 21:54
請問你的後台是要用怎樣在後台跑呢?
雨极 2008-04-02 08:40
http://www.xfopen.net 开网址导航,精典网址导航 加入您的站,帮你免费宣传
mym 2008-02-28 14:59
如果中间有英文和数字呢?如何限制字数
幽林 2008-02-22 18:00
真牛!
值得学习!
kobe08 2008-01-30 14:23
能否说具体些?
wowowosi 2007-12-17 15:50
谢谢
灯草和尚 2007-12-01 13:50
我感觉这样也没什么麻烦的,两者结合使用才是最好的!
fog 2007-11-13 08:19
我也遇到相同的情况,按第二次提示框才会出来。
hjj722 2007-11-08 00:36
怎么没效果啊?能不能具体点啊,我刚学的,有点乱,老师讲的也不是很具体。希望多多指教啊。谢谢。
jazz 2007-11-01 20:34
ASP.NET编程实现文件上传下载
上传有了,那下载在哪呢?
星空竹月 2007-09-22 19:42
protected void dlVideo_ItemCommand(object source, DataListCommandEventArgs e)
{
int VideoId = (int)dlVideo.DataKeys[e.Item.ItemIndex];
string hlname = ((HyperLink)e.Item.FindControl("HyperLink3")).Text;
string command = e.CommandName.ToLower();
if (command == "delete")
{
//Response.Write("<script>alert('删除失败!');history.back(-1);</script>");
string connstring = ConfigurationManager.ConnectionStrings["QinZiDBcon"].ConnectionString;
SqlConnection con = new SqlConnection(connstring);
con.Open();
SqlCommand com = new SqlCommand();
Response.Write("<script>alert('删除成功!')</script>");
com.CommandText = "delete from Video where VideoId=" + VideoId;
com.CommandType = CommandType.Text;
com.Connection = con;
com.ExecuteNonQuery();
con.Close();
//BindData();
Response.Write(" <script language=javascript>window.location.href=document.URL;</script>");
}
if (command == "getid")
{
this.Label1.Text = VideoId.ToString();
this.Label2.Text = hlname;
}
}
星空竹月 2007-09-22 19:41
今天我在DataList控件里面放一个文字按钮,接着在页面上放两个Label,做成的效果是打击相应的按钮,在两个Label里面显示各自的值,代码如下:
protected void dlVideo_ItemCommand(object source, DataListCommandEventArgs e)
{
int VideoId = (int)dlVideo.DataKeys[e.Item.ItemIndex];
string hlname = ((HyperLink)e.Item.FindControl("HyperLink3")).Text;
string command = e.CommandName.ToLower();
if (command == "delete")
{
//Response.Write("<script>alert('删除失败!');history.back(-1);</script>");
string connstring = ConfigurationManager.ConnectionStrings["QinZiDBcon"].ConnectionString;
SqlConnection con = new SqlConnection(connstring);
con.Open();
SqlCommand com = new SqlCommand();
Response.Write("<script>alert('删除成功!')</script>");
com.CommandText = "delete from Video where VideoId=" + VideoId;
com.CommandType = CommandType.Text;
com.Connection = con;
com.ExecuteNonQuery();
con.Close();
//BindData();
Response.Write(" <script language=javascript>window.location.href=document.URL;</script>");
}
if (command == "getid")
{
this.Label1.Text = VideoId.ToString();
this.Label2.Text = hlname;
}
}
星空竹月 2007-09-21 20:29
Literal要写在对应title标签的位置哦
星空竹月 2007-09-21 19:49
using System;
using System.Data;
using System.Configuration;
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.Data.SqlClient;
/**/
/// <summary>
/// DB 的摘要说明
/// </summary>
public class DB
{
private string ConnStr = null;
public DB()
{
//
// TODO: 在此处添加构造函数逻辑
ConnStr = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["QinZiDBcon"].ToString();
//
}
public DB(string Str)
{
try
{
this.ConnStr = Str;
}
catch (Exception ex)
{
throw ex;
}
}
public string constr()
{
return System.Web.Configuration.WebConfigurationManager.ConnectionStrings["QinZiDBcon"].ToString();
}
public static SqlConnection CreateCon()
{
return new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["QinZiDBcon"].ToString());
}
/**/
/// <summary>
/// 返回connection对象
/// </summary>
/// <returns></returns>
public SqlConnection ReturnConn()
{
SqlConnection Conn = new SqlConnection(ConnStr);
Conn.Open();
return Conn;
}
public void Dispose(SqlConnection Conn)
{
if (Conn != null)
{
Conn.Close();
Conn.Dispose();
}
GC.Collect();
}
/**/
/// <summary>
/// 运行SQL语句
/// </summary>
/// <param name="SQL"></param>
public void RunProc(string SQL)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlCommand Cmd;
Cmd = CreateCmd(SQL, Conn);
try
{
Cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
string exm = ex.Message;
throw new Exception(SQL);
}
Dispose(Conn);
return;
}
/**/
/// <summary>
/// 运行SQL语句返回DataReader
/// </summary>
/// <param name="SQL"></param>
/// <returns>SqlDataReader对象.</returns>
public SqlDataReader RunProcGetReader(string SQL)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlCommand Cmd;
Cmd = CreateCmd(SQL, Conn);
SqlDataReader Dr;
try
{
Dr = Cmd.ExecuteReader(CommandBehavior.Default);
}
catch
{
throw new Exception(SQL);
}
//Dispose(Conn);
return Dr;
}
/**/
/// <summary>
/// 生成Command对象
/// </summary>
/// <param name="SQL"></param>
/// <param name="Conn"></param>
/// <returns></returns>
public SqlCommand CreateCmd(string SQL, SqlConnection Conn)
{
SqlCommand Cmd;
Cmd = new SqlCommand(SQL, Conn);
return Cmd;
}
/**/
/// <summary>
/// 生成Command对象
/// </summary>
/// <param name="SQL"></param>
/// <returns></returns>
public SqlCommand CreateCmd(string SQL)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlCommand Cmd;
Cmd = new SqlCommand(SQL, Conn);
return Cmd;
}
/**/
/// <summary>
/// 返回adapter对象
/// </summary>
/// <param name="SQL"></param>
/// <param name="Conn"></param>
/// <returns></returns>
public SqlDataAdapter CreateDa(string SQL)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlDataAdapter Da;
Da = new SqlDataAdapter(SQL, Conn);
return Da;
}
/**/
/// <summary>
/// 运行SQL语句,返回DataSet对象
/// </summary>
/// <param name="procName">SQL语句</param>
/// <param name="prams">DataSet对象</param>
public DataSet RunProc(string SQL, DataSet Ds)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlDataAdapter Da;
//Da = CreateDa(SQL, Conn);
Da = new SqlDataAdapter(SQL, Conn);
try
{
Da.Fill(Ds);
}
catch (Exception Err)
{
throw Err;
}
Dispose(Conn);
return Ds;
}
/**/
/// <summary>
/// 运行SQL语句,返回DataSet对象
/// </summary>
/// <param name="procName">SQL语句</param>
/// <param name="prams">DataSet对象</param>
/// <param name="dataReader">表名</param>
public DataSet RunProc(string SQL, DataSet Ds, string tablename)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlDataAdapter Da;
Da = CreateDa(SQL);
try
{
Da.Fill(Ds, tablename);
}
catch (Exception Ex)
{
throw Ex;
}
Dispose(Conn);
return Ds;
}
/**/
/// <summary>
/// 运行SQL语句,返回DataSet对象
/// </summary>
/// <param name="procName">SQL语句</param>
/// <param name="prams">DataSet对象</param>
/// <param name="dataReader">表名</param>
public DataSet RunProc(string SQL, DataSet Ds, int StartIndex, int PageSize, string tablename)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlDataAdapter Da;
Da = CreateDa(SQL);
try
{
Da.Fill(Ds, StartIndex, PageSize, tablename);
}
catch (Exception Ex)
{
throw Ex;
}
Dispose(Conn);
return Ds;
}
/**/
/// <summary>
/// 检验是否存在数据
/// </summary>
/// <returns></returns>
public bool ExistDate(string SQL)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlDataReader Dr;
Dr = CreateCmd(SQL, Conn).ExecuteReader();
if (Dr.Read())
{
Dispose(Conn);
return true;
}
else
{
Dispose(Conn);
return false;
}
}
/**/
/// <summary>
/// 返回SQL语句执行结果的第一行第一列
/// </summary>
/// <returns>字符串</returns>
public string ReturnValue(string SQL)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
string result;
SqlDataReader Dr;
try
{
Dr = CreateCmd(SQL, Conn).ExecuteReader();
if (Dr.Read())
{
result = Dr[0].ToString();
Dr.Close();
}
else
{
result = "";
Dr.Close();
}
}
catch
{
throw new Exception(SQL);
}
Dispose(Conn);
return result;
}
/**/
/// <summary>
/// 返回SQL语句第一列,第ColumnI列,
/// </summary>
/// <returns>字符串</returns>
public string ReturnValue(string SQL, int ColumnI)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
string result;
SqlDataReader Dr;
try
{
Dr = CreateCmd(SQL, Conn).ExecuteReader();
}
catch
{
throw new Exception(SQL);
}
if (Dr.Read())
{
result = Dr[ColumnI].ToString();
}
else
{
result = "";
}
Dr.Close();
Dispose(Conn);
return result;
}
/**/
/// <summary>
/// 生成一个存储过程使用的sqlcommand.
/// </summary>
/// <param name="procName">存储过程名.</param>
/// <param name="prams">存储过程入参数组.</param>
/// <returns>sqlcommand对象.</returns>
public SqlCommand CreateCmd(string procName, SqlParameter[] prams)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlCommand Cmd = new SqlCommand(procName, Conn);
Cmd.CommandType = CommandType.StoredProcedure;
if (prams != null)
{
foreach (SqlParameter parameter in prams)
{
if (parameter != null)
{
Cmd.Parameters.Add(parameter);
}
}
}
return Cmd;
}
/**/
/// <summary>
/// 为存储过程生成一个SqlCommand对象
/// </summary>
/// <param name="procName">存储过程名</param>
/// <param name="prams">存储过程参数</param>
/// <returns>SqlCommand对象</returns>
private SqlCommand CreateCmd(string procName, SqlParameter[] prams, SqlDataReader Dr)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlCommand Cmd = new SqlCommand(procName, Conn);
Cmd.CommandType = CommandType.StoredProcedure;
if (prams != null)
{
foreach (SqlParameter parameter in prams)
Cmd.Parameters.Add(parameter);
}
Cmd.Parameters.Add(
new SqlParameter("ReturnValue", SqlDbType.Int, 4,
ParameterDirection.ReturnValue, false, 0, 0,
string.Empty, DataRowVersion.Default, null));
return Cmd;
}
/**/
/// <summary>
/// 运行存储过程,返回.
/// </summary>
/// <param name="procName">存储过程名</param>
/// <param name="prams">存储过程参数</param>
/// <param name="dataReader">SqlDataReader对象</param>
public void RunProc(string procName, SqlParameter[] prams, SqlDataReader Dr)
{
SqlCommand Cmd = CreateCmd(procName, prams, Dr);
Dr = Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
return;
}
/**/
/// <summary>
/// 运行存储过程,返回.
/// </summary>
/// <param name="procName">存储过程名</param>
/// <param name="prams">存储过程参数</param>
public string RunProc(string procName, SqlParameter[] prams)
{
SqlDataReader Dr;
SqlCommand Cmd = CreateCmd(procName, prams);
Dr = Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
if (Dr.Read())
{
return Dr.GetValue(0).ToString();
}
else
{
return "";
}
}
/**/
/// <summary>
/// 运行存储过程,返回dataset.
/// </summary>
/// <param name="procName">存储过程名.</param>
/// <param name="prams">存储过程入参数组.</param>
/// <returns>dataset对象.</returns>
public DataSet RunProc(string procName, SqlParameter[] prams, DataSet Ds)
{
SqlCommand Cmd = CreateCmd(procName, prams);
SqlDataAdapter Da = new SqlDataAdapter(Cmd);
try
{
Da.Fill(Ds);
}
catch (Exception Ex)
{
throw Ex;
}
return Ds;
}
}
星空竹月 2007-09-19 13:34
请问用JS怎么处理呢?
空空儿 2007-09-19 01:39
用JS去处理此类问题是个不错的方法;
星空竹月 2007-09-18 14:47
<head>
...
<link rel="shortcut icon" href="favicon.ico" />
</head>
星空竹月 2007-09-16 18:04
以下为引用的内容:
Timer timer1;
this.timer1.Interval = 1000;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick); 字串4
private void timer1_Tick(object sender, EventArgs e)
{
ArrayList AutoTask = new ArrayList();
AutoTask.Add("8:30:00");
AutoTask.Add("9:30:00");
AutoTask.Add("10:30:00");
AutoTask.Add("11:30:00");
字串7
for (int n = 0; n < 4; n++)
{
if (dtAuto.ToLongTimeString().Equals(AutoTask[n]))
{
MessageBox.Show("现在时间是" + AutoTask[n]);
}
}
}
星空竹月 2007-09-10 10:01
private void Button2_Click(object sender, System.EventArgs e)
{
Response.Write("<script language:javascript>javascript:window.close();</script>");
}
星空竹月 2007-09-10 09:31
<input type=button value=后退 onclick=history.go(-1)>
<input type=button value=刷新 onclick=history.go(-0)>
<input type=button value=前进 onclick=history.go(+1)>
星空竹月 2007-08-26 02:22
我做的简单实例:
Text='<%# Eval("EbookText").ToString().Length >100 ?(Eval("EbookText")).ToString().Substring(0,100)+"......" :Eval("EbookText")%>'
laoyingisme 2007-08-24 08:43
我在asp.net1.1里用btnClick.Attributes.Add("onclick", "return confirm('Are you sure?');");
但点击第一次button时没有弹出提示,点击第二次就有了,这是为什么呢?
请个位大侠帮忙,谢谢!
qq:279865753
EMAIL:laoyingisme@sina.com
星空竹月 2007-08-17 20:09
class和id的区别
星空竹月 2007-08-13 09:02
恩,很有道理,呵呵
夜瞳の小漫 2007-08-13 04:55
我觉得class就像是一个类
id就是一个物件了。
通常我都是这个理解的咯。
星空竹月 2007-07-25 17:32
//打开新的窗体
Response.Redirect("WebMain.aspx");
//弹出一个新窗体
Response.Write("<script>window.open(\"WebMain.aspx\")</script>")
//弹出一个只有确定按钮的提示框
Response.Write("<script>alert(\"用户名或密码错误\");</script>");
//关闭窗体不提示信息
Response.Write("<script>window.opener=null;window.close();</script>");
//关闭窗体提示一条信息
Response.Write("<script>window.close();</script>");
//关闭窗体提示两条信息
Response.Write("<script>if(confirm(\"确定退出?\")==true){window.close();}</script>");
星空竹月 2007-07-25 16:45
今天看语法书,无意中发现,书上写着的md5加密方法和我以前用的(网上搜的)用法不一样.拿上来比较一下...
以前网上搜的:
MD5 md5 = MD5.Create();
string pwd = "";
byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(这里是要加密的密码));
for (int i = 0; i < s.Length; i++)
{
pwd = pwd + s[i].ToString("X");
}
这个不需要注解了吧.....
今天书上看到的方法:
string strPwd = FormsAuthentication.HashPasswordForStoringInConfigFile(这里是要加密的密码, "MD5");
这个要解释一下...这个函数用了命名空间是:using System.Web.Security;
第一个参数是指:要加密的密码,,,第二个参数是指:要使用的哈希算法,是一个枚举值.
大家可以试试看,两个加密方法有什么不同,我试过了,好像加密了后的数据是不一样的,呵呵...
星空竹月 2007-07-25 16:40
在编写程序时,有时候我们希望程序在运行时,能弹出对话框,给用户一些提示,特别是对于一些错误错操作的提示和重要信息修改的确认提示。
在asp.net中应用弹出对话框的例子,网上有很多。下面我将自己在这段时间学习和应用过的两种总结一下,以便以后能随时查阅:
(1)提示对话框:也就是对用户的操作作一些提示,它是一个只带有“确定”按钮的模式对话框。这种对话框比较简单,在需要提示的地方写上如下代码便可以:
Response.Write("<script>alert('对话框上提示的内容')</script>");
注:这个提示好像不是加在程序的任何地方都好使,上次遇到一种情况,跟踪发现执行完这条语句了,但是没有弹出对话框,原因我没有找出,也许和JavaScript的执行有关,对其我不太了解。如果哪位知道的话,请告诉我,谢谢了。
(2)确认对话框:它是一个带有“确定”按钮和“取消”按钮的模式对话框。这种对话框在有的场合非常重要,它可以给用户两种选择。
这种对话框,有两种添加的方法:我用的两种方法都是通过给按钮添加属性来实现的,因为在我应用的时候,都是对用户点击了某个按钮后给出确认提示。
一种方法是:在Page_Load()事件中,给希望给出确认提示的按钮增加属性:
Button.Attributes.Add("onclick","return getconfirm();");
然后打开这个页面所对应的.ascx文件,切换到html,在其中添加以下代码:
<script>
function getconfirm()
{
if (confirm("你要执行这个操作吗?")==true)
return true;
else
return false;
}
</script>
第二种方法是:在Page_Load()事件中,给希望给出确认提示的按钮增加属性:
Button.Attributes.Add("onclick", "return confirm('你要执行这个操作吗?');");
其实这两种方法的原理是一样的,相对来说,第二种方法简单些。
星空竹月 2007-07-24 14:21
哈哈,知道了。
问过了来:
System.IO.File.Delete(Server.MapPath("相对路径"));