Forms身份验证用来判断是否合法用户,当用户合法后,再通过用户的角色决定能访问的页面。
主要思想:Forms身份验证用来判断是否合法用户,当用户合法后,再通过用户的角色决定能访问的页面。
具体步骤:
1、创建一个网站,结构如下:
网站根目录
Admin目录 ----> 管理员目录
Manager.aspx ----> 管理员可以访问的页面
Users目录 ----> 注册用户目录
Welcome.aspx ----> 注册用户可以访问的页面
Error目录 ----> 错误提示目录
AccessError.htm ----> 访问错误的提示页面
default.aspx ----> 网站默认页面
login.aspx ----> 网站登录页面
web.config ----> 网站配置文件
2、配置web.config如下:
复制代码 代码如下:
<configuration>
<system.web>
<!--设置Forms身份验证-->
<authentication mode="Forms">
<forms loginUrl="Login.aspx" name="MyWebApp.APSXAUTH" path="/" protection="All" timeout="30"/>
</authentication>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</configuration>
< ......
asp.net字符串截取实现代码,需要的朋友可以参考下。
1,把代码放在sqlhelper中。
复制代码 代码如下:
#region 截取字符串
/// <summary>
/// 截取字符串
/// </summary>
/// <param name="str_value"></param>
/// <param name="str_len"></param>
/// <returns></returns>
public static string leftx(string str_value, int str_len)
{
int p_num = 0;
int i;
string New_Str_value = "";
if (str_value == "")
{
New_Str_value = "";
}
else
{
int Len_Num = str_value.Length;
for (i = 0; i <= Len_Num - 1; i++)
{
if (i > Len_Num) break;
char c = Convert.ToChar(str_value.Substring(i, 1));
if (((int)c > 255) || ((int)c < 0))
p_num = p_num + 2;
else
p_num = p_num + 1;
if (p_num >= str_len)
{
New_Str_value = str_value.Substring(0, i + 1);
break;
}
else
{
New_Str_value = str_value;
}
}
}
return New_Str_value;
}
#endregion
2,前台调用:
复制代码 代码如下:
<%# UserInfo.DAL. ......
private void btnUploadPicture_Click(object sender, System.EventArgs e) { //检查上传文件的格式是否有效 if(this.UploadFile.PostedFile.ContentType.ToLower().IndexOf("image") < 0) { Response.Write("上传图片格式无效!"); return; } //生成原图 Byte[] oFileByte = new byte[this.UploadFile.PostedFile.ContentLength]; System.IO.Stream oStream = this.UploadFile.PostedFile.InputStream; System.Drawing.Image oImage = System.Drawing.Image.fromStream(oStream); int oWidth = oImage.Width; //原图宽度 int oHeight = oImage.Height; //原图高度 int tWidth = 100; //设置缩略图初始宽度 int tHeight = 100; //设置缩略图初始高度 //按比例计算出缩略图的宽度和高度 if(oWidth >= oHeight) { tHeight = (int)Math.Floor(Convert.ToDouble(oHeight) * (Convert.ToDouble(tWidth) / Convert.ToDouble(oWidth))); } else { tWidth = (int)Math.Floor(Convert.ToDouble(oWidth) * (Convert.ToDouble(tHeight) / Convert.ToDouble(oHeight))); } //生成缩略原图 Bitmap tImage = new Bitmap(tWidth,tHeight); Graphics g = Graphics.fromImage(tImage); g. ......
最近研究了一下treeview,发现有两种实现无限级树的方法,文字不想多写,直入主题。
先看看效果图:
先看看数据库表的设计,数据表主要包括ID,Name,ParentID这三项,其中ID是主键,ParentID对应节点的父节点:
方法一:用递归遍历数据,并将节点逐个添加到treeview中去。
1.先进行数据库连接和数据的读取,并将根节点先添加进treeview中,并利用递归getTreeView()实现数据的遍历和添加:
复制代码 代码如下:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
TreeNode nodeCategory ;
connection conn = new connection();
List<Category> category = conn.getCategory();
Stack<Category> storeCategory = new Stack<Category>();
storeCategory.Push(category[0]);
nodeCategory = new TreeNode(category[0].Name.Trim(), category[0].Id.Trim());
TreeView1.Nodes.Add(nodeCategory);
getTreeView(storeCategory, category, nodeCategory);
}
}
2.数据遍历的递归函数,比较简单就不多说了。
复制代码 代码如下:
public void getTreeView(Stack<Category> categorySt ......
刚刚接触网页开发,不过遇到URR参数传递错误的问题,两个页面进行信息交互时可以用url进行传递,但是如果传递信息的编码格式不是UTF-8(或者不是设置的默认格式)URL传递时会出现乱码。
比如你传入汉字,或者传入"§”等其他编码格式的字符串系统解析后的url为乱码。经过在网上的查找觉得一下两种方式比较好:
1.如果url在后台解析的话采用HttpUtility.UrlEncode(url,System.Text.Encoding.GetEncoding("编码格式(GB2312)"));
2.如果是传入前台的话在组织URL时对传递信息进行编码。编码方法可以写到js文件中使用encodeURIComponent(source)函数,其中source为中文。可以将特殊字符进行转换,被转换后的url就不会出现乱码了。
详细出处参考:http://www.jb51.net/article/18663.htm ......
asp.net开发的朋友,经常用得到web.config文件的配置,所以我们特整理了中文说明。
<?xml version="1.0" standalone="yes"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<!--配置全局变量-->
<appSettings>
<add key="examstr" value="server=.;database=myweb_exam_db;uid=exam_login;pwd=xxd_examadmin"/>
</appSettings>
<!--配置全局变量-->
<!--网站系统配置-->
<system.web>
<!--上传文件时提示访问被拒绝,生成图片文件等失败文件夹没有改写权限-->
<identity impersonate="true"/>
<!--在客户端显示错误信息-->
<customErrors mode="Off" />
<!--允许匿名访问-->
<authorization>
<allow users="*" />
</authorization>
<!--启用跟踪页面-->
<trace enabled="true" requestLimit="1000" pageOutput="true" traceMode="SortByTime" localOnly="true" />
<!--防止网页乱码-->
<globalization requestEncoding="gb2312" responseEncoding="gb2312" culture=" ......