当前位置:首页 > 代码 > 正文

asp.net登陆代码下载(aspnet)

admin 发布:2023-02-09 18:45 58


今天给各位分享asp.net登陆代码下载的知识,其中也会对aspnet进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

ASP.NET 中,实现download下载,弹出打开和保存对话框,不限制文件大小,跪求实现代码,谢谢了

思路很简单,读取服务器文件路径,然后再保存数据流,下面是实现代码:

(ps:因为要上班,来不及写很多注释,关键的地方加了几句注释哈)

using System;

using System.Collections;

using System.Configuration;

using System.Data;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using YTLib.Basic;

using YTLib.YTDBC;

using System.IO;

using System.Threading;

namespace siteadmin.admin

{

public partial class downfile : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

string strSQL = "";

YTNDBObject dbo = new YTNDBObject();

dbo.DataName = "Main";

Page.EnableViewState = false;

if(!IsPostBack)

{

string sid=Request["id"];

if(!YTLib.publicOP.IsNumString(sid)||sid==null)

sid="0";

strSQL = "select * from FileSource where ID=@ID";

dbo.PrepareCommand(strSQL);

dbo.SetCmdIntValue("@ID",int.Parse(sid));

DataTable dt=dbo.QueryData().Tables[0];

string sourceName = (string)dt.Rows[0]["FilePath"];

sourceName.Trim();//消除空格

string filesnames = sourceName.Substring(7, sourceName.Length - 8);

int index= sourceName.LastIndexOf(".");

string extend = sourceName.Substring(index+1);//扩展名

string fullPath = "~/uploaded/" + sourceName;

fullPath = Server.MapPath(fullPath);

//读出该资源的下载次数

int downloadtimes = 0;

downloadtimes = int.Parse(dt.Rows[0]["downloadCounts"].ToString());

Page.Response.Clear();

bool success = ResponseFile(Page.Request, Page.Response, filesnames, fullPath, 1024000);

if (!success) Response.Write("script language=\"javascript\"alert(\"Download file error\");window.location.href=\"../Download.aspx\"/script");

else

{

//记录下载次数

downloadtimes++;

string sqlStr = "update FileSource set downloadCounts=" + downloadtimes + " where ID=@IID";

dbo.PrepareCommand(sqlStr);

dbo.SetCmdIntValue("@IID",int.Parse(sid));

dbo.ExecuteNoQuery();

}

Response.Write("script language=\"javascript\"window.location.href=\"../Download.aspx\"/script");

}

}

public static bool ResponseFile(HttpRequest _Request, HttpResponse _Response, string _fileName, string _fullPath, long _speed)

{

try

{

FileStream myFile = new FileStream(_fullPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);

BinaryReader br = new BinaryReader(myFile);

try

{

_Response.AddHeader("Accept-Ranges", "bytes");

_Response.Buffer = false;//不缓冲

long fileLength = myFile.Length;

long startBytes = 0;

double pack = 10240;

//10K bytes

int sleep = 200;

//每秒5次 即5*10K bytes每秒 int sleep = (int)Math.Floor(1000 * pack / _speed) + 1;

if (_Request.Headers["Range"] != null)

{

_Response.StatusCode = 206;

string[] range = _Request.Headers["Range"].Split(new char[] { '=', '-' });

startBytes = Convert.ToInt64(range[1]);

}

_Response.AddHeader("Content-Length", (fileLength - startBytes).ToString());

if (startBytes != 0)

{

//Response.AddHeader("Content-Range", string.Format(" bytes {0}-{1}/{2}", startBytes, fileLength-1, fileLength));

}

_Response.AddHeader("Connection", "Keep-Alive");

_Response.ContentType = "application/octet-stream";

_Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(_fileName, System.Text.Encoding.UTF8));

br.BaseStream.Seek(startBytes, SeekOrigin.Begin);

int maxCount = (int)Math.Floor((fileLength - startBytes) / pack) + 1;

for (int i = 0; i maxCount; i++)

{

if (_Response.IsClientConnected)

{

_Response.BinaryWrite(br.ReadBytes(int.Parse(pack.ToString())));

Thread.Sleep(sleep);

}

else

{

i = maxCount;

}

}

}

catch

{

return false;

}

finally

{

br.Close();

myFile.Close();

}

}

catch

{

return false;

}

return true;

}

}

}

asp.net网站怎么跟腾讯qq实现登陆接口的功能啊, 大家帮帮忙说这个是免费的这个代码怎么写啊

1.需要下载SDK,SDK依赖于Newtonsoft.Json和RestSharp两个程序集,主要是两个类QzoneContext(QQ登陆的上下文数据) 和 QOpenClient (QQ互联API入口)

2.你得去 申请一个账号,会得到一个APP ID和App Key,去填一些资料,还要提交一些资料审核

3.在配置文件web.config加入QQ登陆所需要的一些配置参数

4.在项目中添加上面下载的SDK文件夹中三个引用Newtonsoft.Json.dll、RestSharp.dll和 QConnectSDK.dll,然后再写相关的代码

反正一句话,不是在这上面一句两句能说清的。。。

asp.net登陆代码问题

说明没匹配到啊,输入的用户名或密码不正确撒。

1、检查输入时是否有空格,数据库中存储的是否有空格,

2、检查数据库存储的密码是否是加密后的,

3、你这样直接拼接sql语句,存在SQL注入的安全漏洞!!!

asp.net登录及注册代码

创建两个类调用

(有时代码都正确但还是注册不了,可能是数据表有问题,删除重表建一张)

****************************************person类:

using System;

using System.Data;

using System.Configuration;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

/// summary

///person 的摘要说明

/// /summary

public class person

{

public string uName;

public string uPwd;

public string uSex;

public person()

{

//

//TODO: 在此处添加构造函数逻辑

//

}

}

*********************************************personOperate类

using System;

using System.Data;

using System.Configuration;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using System.Data.SqlClient;

/// summary

///personOperate 的摘要说明

/// /summary

public class personOperate

{

public personOperate()

{

//

//TODO: 在此处添加构造函数逻辑

//

}

public static SqlConnection createConnection()

{

SqlConnection con = new SqlConnection("server=.;database=log;uid=sa;pwd=sa");

return con;

}

public static bool insertOperate(person p)

{

try

{

SqlConnection con =personOperate.createConnection();

con.Open();

SqlCommand cmd = new SqlCommand("insert into www values(@uName,@uPwd,@uSex)", con);

SqlParameter para = new SqlParameter("@uName", SqlDbType.VarChar, 50);

para.Value = p.uName;

cmd.Parameters.Add(para);

para = new SqlParameter("@uPwd", SqlDbType.VarChar, 50);

para.Value = p.uPwd;

cmd.Parameters.Add(para);

para = new SqlParameter("@uSex", SqlDbType.VarChar, 2);

para.Value = p.uSex;

cmd.Parameters.Add(para);

cmd.ExecuteNonQuery();

return true;

}

catch (Exception e)

{

return false;

}

}

}

********************************************注册页面代码

using System;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

}

protected void btgo_Click(object sender, EventArgs e)

{

person p = new person();

p.uName = this.tbUser.Text;

p.uPwd = this.tbPwd.Text;

if (this.rbman.Checked)

{

p.uSex = "男";

}

else

{

p.uSex = "女";

}

if(personOperate.insertOperate(p))

{

Response.Write("注册成功");

}

else

{

Response.Write("失败");

}

Res

注册二代码:

protected void btnsend_Click(object sender, EventArgs e)

{

SqlConnection con = DB.createConnection();

con.Open();

string cmdtext = "insert into newreplay(mname,msubject,mcontent,mphone,madd,mqq,mmail,mhttp,mface,mip,mdatetime,mreplaytime) values(@name,@subject,@content,@phone,@add,@qq,@mail,@http,@face,@ip,@datetime,@datetime)";

SqlCommand cmd = new SqlCommand(cmdtext, con);

cmd.Parameters.Add("@name", SqlDbType.VarChar, 50);

cmd.Parameters["@name"].Value = this.tname.Text;

cmd.Parameters.Add("@subject", SqlDbType.VarChar, 50);

cmd.Parameters["@subject"].Value = this.tsubject.Text;

cmd.Parameters.Add("@content", SqlDbType.Text);

cmd.Parameters["@content"].Value = this.tcontent.Text;

cmd.Parameters.Add("@phone", SqlDbType.VarChar, 50);

cmd.Parameters["@phone"].Value = this.tphone.Text;

cmd.Parameters.Add("@add", SqlDbType.VarChar, 50);

cmd.Parameters["@add"].Value = this.tadd.Text;

cmd.Parameters.Add("@qq", SqlDbType.VarChar, 50);

cmd.Parameters["@qq"].Value = this.tqq.Text;

cmd.Parameters.Add("@mail", SqlDbType.VarChar, 50);

cmd.Parameters["@mail"].Value = this.tmail.Text;

cmd.Parameters.Add("@http", SqlDbType.VarChar, 50);

cmd.Parameters["@http"].Value = this.thttp.Text;

cmd.Parameters.Add("@face", SqlDbType.VarChar, 50);

cmd.Parameters["@face"].Value = this.dface.SelectedValue.ToString();

cmd.Parameters.Add("@ip", SqlDbType.VarChar, 50);

cmd.Parameters["@ip"].Value = GetIP();

cmd.Parameters.Add("@datetime", SqlDbType.DateTime);

cmd.Parameters["@datetime"].Value = DateTime.Now.ToString();

try

{

cmd.ExecuteNonQuery();

con.Close();

Response.Write("scriptalert('发表成功')/script");

this.tadd.Text = "";

this.tcontent.Text = "";

this.thttp.Text = "";

this.tmail.Text = "";

this.tsubject.Text = "";

this.tphone.Text = "";

this.tname.Text = "";

this.tqq.Text = "";

}

catch (Exception error)

{

throw new System.Exception(error.Message);

}

}

登陆:

public partial class LOGIN : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

}

protected void Button1_Click(object sender, EventArgs e)

{

SqlConnection con = DB.createConnec();

con.Open();

SqlCommand cmd = new SqlCommand("select * from LOGIN where name='" + this.TextBox1.Text + "'and password='" + this.TextBox2.Text + "'", con);

SqlDataReader dr = cmd.ExecuteReader();

if (dr.Read())

{

Session["username"] = dr["name"]; //从数据库读出

Session["userpassword"] = dr["password"]; //从数据库读出

if ((int)Session["userpassword"] == 1) //类型要注意 还有一种是SESSION["WWW"].TOSTRING()=="1"; //!=

{

Response.Redirect("TIME.aspx");

}

else if ((int)Session["userpassword"] == 2)

{

Response.Redirect("add.aspx");

}

else

{

Response.Redirect("list.aspx");

}

}

else

{

Response.Write("ksks");

}

con.Close();

}

}

要是可以给我好评好么!我在收集分数

ASP.net用三层架构实现简单的用户登录代码

以一个验证登陆为例子

这里是界面层一般叫UIL

protected void Button1_Click(object sender, EventArgs e)

{

ListUser Users = BLL.GetUserInfo(txtUserName.Text,txtPassword.Text);

if(Users.Length 0)

{

Response.Write("登陆成功");

}

else

{

Response.Write("登陆失败");

}

}

以下是逻辑层代码,业务逻辑层一般叫BLL

public static ListUser GetUserInfo(string user,string password)

{

string newPassword = GetMD5Hash(password); //这里对密码进行加密处理,数据库中存放的是经过MD5加密后的密,业务逻辑层一般都是处理复杂的逻辑.例如加密逻辑

ListUser Users = DAL.GetUserInfo(user,newPassword);

return Users;

}

以下是数据访问层代码,数据访问层一般叫DAL

public static ListUser GetUserInfo(string user,string password)

{

ListUser Users = new ListUser();

string sql = "select * from User where Password = '"+password+"' and User = '"+user+"'"; //写where子句的时候把Password放前面.因为Password经过加密,所以可以防止SQL注入攻击

SqlDataAdapter da = new SqlDataAdapter(sql,"这里是数据库连接字符串");

DataSet ds = new DataSet();

da.Fill(ds);

for(int i=0;ids.Tables[0].Rows.Count;i++)

{

User user = new User(ds.Tables[0].Rows[i]["ID"].ToString(),ds.Tables[0].Rows[i]["User"].ToString(),ds.Tables[0].Rows[i]["Password"].ToString());

Users.Add(user);

}

return Users;

}

还会有一个Model层.叫做模板层.是数据表结构的印射.Model层是共用层,其他三层都要用到.

比如数据库中有张表User,里面有3个字段ID,User,Password

那么在模板层中应该有一个类,数据库中User表的一行对应一个User对象,一张表对应User对象的集合.

public class User

{

string ID;

string User;

string Password;

//重载构造函数

User(string id,string user,string password)

{

this.ID=id;

this.User=user;

this.Password=password;

}

}

asp.net(vb) 登录代码

protected void lkbtLogin_Click(object sender, System.EventArgs e)

{

if(txtVerifyNum.Text.Trim() != Session["SessionAppendNumber"].ToString())

{

oprtb.AlertMsg("输入的验证码错误",Page);

return;

}

DataSet ds = new DataSet();

string sql = "select UserID,Name,DepartID,CompanyID,";

sql = sql+"(select Name from Depart where ((DepartID=UserList.DepartID) and ( CompanyID=UserList.CompanyID))) as DepartName,";

sql = sql+"(select Name from Company where (CompanyID=UserList.CompanyID)) as CompanyName ";

sql = sql+"from UserList where UserID='" + txtUserID.Text.Trim() +"' and Password='" + Encrypt.EncryptPwd(txtPassword.Text.Trim(),"MD5") + "' and Cancellation = 0";

//string sql = "select * from UserList where UserID='" + txtUserID.Text.Trim() +"' and Password='" + Encrypt.EncryptPwd(txtPassword.Text.Trim(),"MD5") + "' and Cancellation = 0";

ds = oprtb.SelectTable(sql);

if (ds.Tables[0].Rows.Count = 0)

{

oprtb.AlertMsg("输入的用户名或密码错误",Page);

return;

}

else

{

string UHAddress = Request.UserHostAddress;

string currentTime = DateTime.Now.ToString("yyyyMMdd hhmmss");

//登陆成功

Session["UserID"] = ds.Tables[0].Rows[0]["UserID"].ToString();

Session["Name"] = ds.Tables[0].Rows[0]["Name"].ToString();

Session["DepartID"] = ds.Tables[0].Rows[0]["DepartID"].ToString();

Session["DepartName"] = ds.Tables[0].Rows[0]["DepartName"].ToString();

Session["CompanyID"] = ds.Tables[0].Rows[0]["CompanyID"].ToString();

Session["CompanyName"] = ds.Tables[0].Rows[0]["CompanyName"].ToString();

//设置用户的登陆时间

oprtb.SetStartTime(txtUserID.Text.Trim());

//设置用户的登陆标记

string s_mark = txtUserID.Text.Trim() + "_" + UHAddress + "_" + currentTime;

oprtb.SetLoginMark(s_mark,txtUserID.Text.Trim());

//保存登陆标记

Session["LoginMark"] = s_mark;

MCompany.SystemLog slstru = new YesErp.MCompany.SystemLog();

slstru.SystemLog_IP = UHAddress;

slstru.SystemLog_LogIn = System.DateTime.Now;

slstru.SystemLog_Name = ds.Tables[0].Rows[0]["Name"].ToString();//用户姓名

slstru.SystemLog_ID = Int32.Parse(ds.Tables[0].Rows[0]["UserID"].ToString());//用户ID

//写系统日志

oprtb.LoginSystemLog(slstru);

//oprtb.AlertMsg("登录成功",Page);

Session["LoginTime"] = System.DateTime.Now;

//判断并转到新的页面

oprtb.ChangeUrl("../index.aspx",Page);

}

}

asp.net登陆代码下载的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于aspnet、asp.net登陆代码下载的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/36618.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载