第一篇:net(c#)跨页面传值方法总结
.net(c#)跨页面传值方法总结(2011-04-25 11:03:24)转载标签: it 方式1:
在接收页 的html代码里加上一行: <%@ Reference Page = “WebForm1.aspx” %>
WebForm1 fp=(WebForm1)Context.Handler;this.TextBox1.Text=fp.name;//name 是第一页的public变量
Context 提供对整个当前上下文(包括请求对象)的访问。您可以使用此类共享页之间的信息。
方式2:GET方式 在发送页
public int sum=0;
int i =int.Parse(this.TextBox1.Text)*2;
Server.Transfer(“WebForm2.aspx?sum=”+i);
接收页
this.TextBox1.Text=Request[“sum”].ToString();or this.TextBox1.Text=Request.Params[“sum”].ToString();this.TextBox1.Text=Request.QueryString[“sum”];
方法3:全局变量
发送页:
Application[“sum”]=this.TextBox1.Text;Server.Transfer(“WebForm2.aspx”);
接收页:
this.TextBox1.Text=(string)Application[“sum”];
Application实质上是整个虚拟目录中所有文件的集合,如果想在整个应用范围内使用某个变量值,Application对象将是最佳的选择
方法4:
发送页:
1.定义静态变量: public static string str=“";2.str=this.TextBox1.Text;Server.Transfer(”webform2.aspx“);接收页:
1.引入第一页的命名空间:using WebApplication1;2 this.TextBox1.Text=WebForm1.str;
另外三种最常见的传值
ASP.NET WEB FORMS 给开发者提供了极好的事件驱动开发模式。然而这种简单的应用程序开发模式却给我们带来了一些小问题,举个例子,在传统的ASP应用程序中,你能够通过 POST方法很容易的把一个值或多个值从一个页面传送到另一个页面(request()/request.form()/request.querystring()),用同样的方法在ASP.NET中实现有点麻烦。在这里,通过其他方式来解决这种情形。ASP.NET为我们提供了三种方式,一种是可以通过用QueryString来传送相应的值,再一种是通过session变量来传送相应的值,还有就是通过 Server.Transfer方法来实现。
一、使用Querystring
Querystring是一种非常简单的传值方式,其缺点就是会把要传送的值显示在浏览器的地址栏中,并且在此方法中不能够传递对象。如果你想传递一个安全性不是那么太重要或者是一个简单的数值时,用此方法最好不过了。下面通过一个小例子来完成传值工作,步骤如下:
1、创建一个web form
2、在新建的web form中放置一个button1,在放置两个TextBox1,TextBox2
3、为button按钮创建click事件
代码如下:
private void button_click(object sender,System.EventArgs e){ string url;url=”webform2.aspx?name=“+TextBox1.Text + ”&Email=“+TextBox2.Text;Response.Redirect(url);}
4、新建一个目标页面命名为webform2
5、在webform2中放置两个Label1,Label2 在webform2的Page_Load中添加如下代码:
private void Page_Load(object sender,System.EventArgs e){ Label1.Text=Request.QueryString[”name“];Label2.Text=Request.QueryString[”Email“];} 运行,即可看到传递后的结果了。
二、使用Session变量
使用Session变量传值是一种最常见的方式了,此中方式不仅可以把值传递到下一个页面,还可以交叉传递到多个页面,直至把Session变量的值removed后,变量才会消失。举个例子看看:
1、创建一个web form
2、在新建的web form中放置一个button1,在放置两个TextBox1,TextBox2
3、为button按钮创建click事件 代码如下:
private void button_click(object sender,System.EventArgs e){ Session[”Name“]=TextBox1.Text;Session[”Email“]=TextBox2.Text;Response.Redirect(”webform2.aspx“);}
4、新建一个目标页面命名为webform2
5、在webform2中放置两个Label1,Label2 在webform2的Page_Load中添加如下代码:
private void Page_Load(object sender,System.EventArgs e){ Label1.Text=Session[”Name“].ToString();Label2.Text=Session[”Email“].ToString();Session.Remove(”Name“);Session.Remove(”Email“);} 运行,即可看到传递后的结果了。
三、使用Server.Transfer
虽然这种方法有点复杂,但也不失为一种在页面传值的方式。举个例子看看:
1、创建一个web form
2、在新建的web form中放置一个button1,在放置两个TextBox1,TextBox2
3、为button按钮创建click事件 代码如下:
private void(object sender,System.EventArgs e){ Server.Transfer(”webform2.aspx“);}
4、创建过程来返回TextBox1,TextBox2控件的值代码如下: public string Name { get {return TextBox1.Text;} } public string Email { get{return TextBox2.Text;} }
5、新建一个目标页面命名为webform2
6、在webform2中放置两个Label1,Label2 在webform2的Page_Load中添加如下代码:
private void Page_load(object sender,System.EventArgs e){ //创建webform的实例 webform1 wf1;//获得实例化的句柄
wf1=(webform1)Context.Handler;Label1.Text=wf1.Name;Label2.Text=wf1.Email;}
常见的就是这三种方法。
上面方法一中的传值问题
问:在asp中页面间传值使用url?方式 例如 ”index.asp?aaa=华东五市+水乡六日游“ 因为字符串”华东五市+水乡六日游“中间有加号,与asp系统字符串连接符关键字冲突,传过去的变量aaa的值就会变成”华东五市“,请问大家有什么解决办法? 解决:
1.server.urlencode(”华东五市+水乡六日游“)
2.URLEncode The URLEncode method applies URL encoding rules, including escape characters, to a specified string.Syntax Server.URLEncode(string)
Parameters string Specifies the string to encode.Example The following script
<%Response.Write(Server.URLEncode(”http://www.xiexiebang.com“))%>
produces the output
http://www.xiexiebang.com
3.index.asp?aaa=华东五市+水乡六日游 4.自己定义一些特殊字符对应 ”+“,”*“,”#“ 例如,Replace(string,”+“,”CODE01“)
然后到另一个页面在用Replace(string,”CODE01“,”+“)换回来即可了 自己定义一些特殊字符对应 ”+“,”*“,”#“ 例如,Replace(string,”+“,”CODE01“)
然后到另一个页面在用Replace(string,”CODE01“,”+“)换回来即可了
在页面间传递引用
有不少文章讨论怎么在两个页面间传递引用,如果你页面上的对象设置为public的话,你就可以传递他们在页面间。
在页面间传递是使用
Server.Transfer替代Response.Redirect就可以。例子:
-------------In Page A codebehind:
public class PageA : System.Web.UI.Page { public System.Web.UI.WebControls.TextBox TextBox1;public System.Web.UI.WebControls.Button Button1;
// standard page code(Page_Load, etc)//....//....private void Button1_Click(object sender, System.EventArgs e){ Server.Transfer(”b.aspx“);} }
-------------In Page B codebehind:
private void Page_Load(object sender, System.EventArgs e){ PageA myAPage = Context.Handler as PageA;string textboxFromPageA = myAPage.TextBox1.Text;}
因为当使用Server.Transfer时所有的对象(A and B)在服务器上当时都是活动的,你可以引用任何东西。
稍微修改一下b.aspx(uestc95 提供):
Page myPage =(Page)Context.Handler;string textboxFromPageA;textboxFromPageA =((TextBox)myPage.FindControl(”TextBox1“)).Text;
这样在A.aspx中就可以正常的使用protected类型的了
###
1.使用QueryString变量
QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。下面是一个例子: a.aspx的C#代码
private void Button1_Click(object sender, System.EventArgs e){ string s_url;s_url = ”b.aspx?name=“ + Label1.Text;Response.Redirect(s_url);}
b.aspx中C#代码
private void Page_Load(object sender, EventArgs e){ Label2.Text = Request.QueryString[”name“];}
2.使用Application 对象变量
Application对象的作用范围是整个全局,也就是说对所有用户都有效。其常用的方法用Lock和UnLock。a.aspx的C#代码
private void Button1_Click(object sender, System.EventArgs e){ Application[”name“] = Label1.Text;Server.Transfer(”b.aspx“);}
b.aspx中C#代码 private void Page_Load(object sender, EventArgs e){ string name;Application.Lock();name = Application[”name“].ToString();Application.UnLock();}
3.使用Session变量
想必这个肯定是大家使用中最常见的用法了,其操作与Application类似,作用于用户个人,所以,过量的存储会导致服务器内存资源的耗尽。a.aspx的C#代码
private void Button1_Click(object sender, System.EventArgs e){ Session[”name“] = Label.Text;}
b.aspx中C#代码
private void Page_Load(object sender, EventArgs e){ string name;name = Session[”name“].ToString();}
4.使用Cookie对象变量
这个也是大家常使用的方法,与Session一样,其是什对每一个用户而言的,但是有个本质的区别,即Cookie是存放在客户端的,而session是存放在服务器端的。而且Cookie的使用要配合ASP.NET内置对象Request来使用。
a.aspx的C#代码
private void Button1_Click(object sender, System.EventArgs e){ HttpCookie cookie_name = new HttpCookie(”name“);cookie_name.Value = Label1.Text;Reponse.AppendCookie(cookie_name);Server.Transfer(”b.aspx“);}
b.aspx中C#代码
private void Page_Load(object sender, EventArgs e){ string name;name = Request.Cookie[”name“].Value.ToString();}
5.使用Server.Transfer方法
这个才可以说是面象对象开发所使用的方法,其使用Server.Transfer方法把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流,所以这个方法是完全面象对象的,简洁有效。a.aspx的C#代码 public string Name { get{ return Label1.Text;} } private void Button1_Click(object sender, System.EventArgs e){ Server.Transfer(”b.aspx");}
b.aspx中C#代码
private void Page_Load(object sender, EventArgs e){ a newWeb;//实例a窗体
newWeb =(source)Context.Handler;string name;
第二篇:php页面缓存实现方法总结范文
php页面缓存实现方法总结
在php页面缓存主要用到的是ob系列函数,如ob_start(),ob_end_flush(),ob_get_contents(),但是更高级的缓存是不使用这些函数的,本文章最后一个实现就有讲到,大家可参考一下。ob_start():页面缓存开始的标志,此函数一下的内容直至ob_end_flush()或者ob_end_clean()都保存在页面缓存中;
ob_get_contents():用来获取页面缓存中的内容,获取到以后呢,我们就可以想怎么处理这些内容都行了,过滤字段啦,匹配内容啦,都可以~~~ :)
ob_end_flush():表示页面缓存结束。并且经我验证,缓存的内容将输出到当前页面上,也就是可以显示缓存内容。
用此三个php函数,就可以实现强大的功能。如果数据库查询量较大,可以用cache来解决这个问题。
下面是编码部分。
1.初始化函数,一般是设置页面缓存路径、缓存文件命名格式等,可按个人喜好自定义。这里用到的识别ID是经加密的$_SERVER[REQUEST_URI]参数。这个函数中最后还有一个if判断:若未过缓存期,则加载缓存文件,否则加载源文件。
代码如下 复制代码 function page_init(){
$url = $_SERVER['REQUEST_URI'];//子url,该参数一般是唯一的$pageid = md5($url);
$dir = str_replace('/','_',substr($_SERVER['SCRIPT_NAME'],1,-4));
//目录命名方式,如exp_index
if(!file_exists($pd = PAGE_PATH.$dir.'/'))@mkdir($pd,0777)or die(“$pd目录创建失败”);
//如cache/page/exp_index/
define('PAGE_FILE',$pd.$pageid.'.html');
//如cache/page/exp_index/cc8ef22b405566745ed21305dd248f0e.html
$contents = file_get_contents(PAGE_FILE);//读出
if($contents && substr($contents, 13, 10)> time())//对应page_cache()函数中加上的自定义头部
{
echo substr($contents, 27);
exit(0);
}
return true;
}
2.页面缓存函数,这里使用到一个技巧:在缓存文件的内容中加上一个头部信息--过期时间,所以每次只需要对头部中的过期时间和当前时间进行比较(在page_init()函数中进行)就能判断缓存是否过期了。
代码如下 复制代码
function page_cache($ttl = 0){
$ttl = $ttl ? $ttl : PAGE_TTL;//缓存时间,默认3600s
$contents = ob_get_contents();//从缓存中获取内容
$contents = “n”.$contents;
//加上自定义头部:过期时间=生成时间+缓存时间
file_put_contents(PAGE_FILE, $contents);//写入缓存文件中
ob_end_flush();//释放缓存
}
3.函数使用,注意这两个函数有先后执行顺序,还有别忘了ob_start()
代码如下 复制代码
page_init();//页面缓存初始化
ob_start();//开启缓存
...//代码段
page_cache(60);//一般是最后一行
?> 例2
下面做个示例来说明PHP页面缓存技术:
代码如下 复制代码
function cache_start($_time, $dir){
$cachefile = $dir.'/'.sha1($_SERVER['REQUEST_URI']).'.html';
$cachetime = $_time;
ob_start();
if(file_exists($cachefile)&&(time()-filemtime($cachefile)< $cachetime))
{
include($cachefile);
ob_end_flush();
exit;
} }
function cache_end($dir){
$cachefile = $dir.'/'.sha1($_SERVER['REQUEST_URI']).'.html';
$fp = fopen($cachefile, 'w');
fwrite($fp, ob_get_contents());
fclose($fp);
ob_end_flush();}
cache_start($_time, $dir);//以下是输出的内容,放在cache_start和cache_end两个方法之间 for($i=0;$i<5;$i++){
echo $i;
sleep(1);} cache_end($dir);?> 例
利用生成文件做缓存
代码如下 复制代码
* @copyright 2009-3-13 * @param string $cache_folder 缓文件夹
* @param int $cache_create_time 文件缓存时间 * @example $cache=new Esj_Cache('./_cache',100)* @example $cache->read_cache()读取缓存并输出
* @example $cache->creatre_cache()创建缓存文件(放在文件未尾)* @example $cache->list_file()返回所有缓存文件列表 * @example $cache->del_file()删除所有缓存文件 */
class Esj_Cache{ private $cache_folder=null;//cacher文件夹 private $wroot_dir=null;//站点目录
private $cacher_create_time=null;//cacher文件的建立时间
public function __construct($cache_foldername,$cacher_time=100){ ob_start();$this->wroot_dir=$_SERVER['DOCUMENT_ROOT'];$this->cache_folder=$cache_foldername;$this->cacher_create_time=$cacher_time;}
public function read_cache(){ try { if(self::create_folder($this->cache_folder)){ self::get_cache();//输出缓存文件信息 }else { echo “缓存文件夹创建失败!”;return false;}
}catch(Exception $e){ echo $e;return false;} }
//测试缓存文件夹是否存在
private function exist_folder($foler){ if(file_exists($this->wroot_dir.“/”.$foler)){ return true;}else { return false;} } //建立一个新的文件夹
private function create_folder($foler){ if(!self::exist_folder($foler)){ try{ mkdir($this->wroot_dir.“/”.$foler,0777);chmod($this->wroot_dir.“/”.$foler,0777);return true;}catch(Exception $e){ self::get_cache();//输出缓存 return false;} return false;} else { return true;} }
//读取缓存文件
private function get_cache(){ $file_name=self::get_filename();if(file_exists($file_name)&&((filemtime($file_name)+$this->cacher_create_time)> time())){ $content=file_get_contents($file_name);if($content){ echo $content;ob_end_flush();exit;}else { echo “文件读取失败”;exit;} } } //返回文件的名字
private function get_filename(){ $filename=$file_name=$this->wroot_dir.'/'.$this->cache_folder.'/'.md5($_SERVER['QUERY_STRING']).“.html”;return $filename;}
//建立缓存文件
public function create_cache(){ $filename=self::get_filename();if($filename!=“"){ try{ file_put_contents($filename,ob_get_contents());return true;}catch(Exception $e){ echo ”写缓存失败:“.$e;exit();} return true;} }
// 取得缓存中的所有文件 public function list_file(){ $path=$this->cache_folder;if($handle = opwww.shanxiwang.netendir($path)){ while(false!==($file = readdir($handle))){ if($file!=”.“ && $file!=”..“){ $path1=$path.”/“.$file;if(file_exists($path1)){ $result[]=$file;} } } closedir($handle);} return $result;}
//删除缓存中的所有文件 public function del_file(){ $path=$this->cache_folder;if($handle = opendir($path)){ while(false!==($file = readdir($handle))){ if($file!=”.“ && $file!=”..“){ $path1=$path.”/".$file;if(file_exists($path1)){ unlink($path1);} } } closedir($handle);} return true;} } ?>
第三篇:页面功能测试点总结
页面功能测试点总结
本资料由织雀教育从网上整理,仅供学习交流,请务做商业用途
1.页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确。可以使用一些工具,如LinkBotPro、File-AIDCS、HTML Link Validater、Xenu等工具。LinkBotPro不支持中文,中文字符显示为乱码;HTML Link Validater只能测试以Html或者htm结尾的网页链接;Xenu无需安装,支持asp、do、jsp等结尾的网页,xenu测试链接包括内部链接和外部链接,在使用的时候应该注意,同时能够生成html格式的测试报告。如果系统用QTP进行自动化测试,也可以使用QTP的页面检查点检查链接。
2.相关性检查:
功能相关性:删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确,常见的情况是,增加某个数据记录以后,如果该数据记录某个字段内容较长,可能会在查询的时候让数据列表变形。
数据相关性:下来列表默认值检查,下来列表值检查,如果某个列表的数据项依赖于其他模块中的数据,同样需要检查,比如,某个数据如果被禁用了,可能在引用该数据项的列表中不可见。
3.检查按钮的功能是否正确:如新建、编辑、删除、关闭、返回、保存、导入,上一页,下一页,页面跳转,重置等功能是否正确。常见的错误会出现在重置按钮上,表现为功能失效。
4.字符串长度检查: 输入超出需求所说明的字符串长度的内容,看系统是否检查字符串长度。还要检查需求规定的字符串长度是否是正确的,有时候会出现,需求规定的字符串长度太短而无法输入业务数据。
5.字符类型检查: 在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型。
6.标点符号检查: 输入内容包括各种标点符号,特别是空格,各种引号,回车键。看系统处理是否正确。常见的错误是系统对空格的处理,可能添加的时候,将空格当作一个字符,而在查询的时候空格被屏蔽,导致无法查询到添加的内容。
7.特殊字符检查:输入特殊符号,如@、#、$、%、!等,看系统处理是否正确。常见的错误是出现在% ‘ 这几个特殊字符8.中文字符处理: 在可以输入中、英文的系统输入中文,看会否出现乱码或出错。
9.检查信息的完整性: 在查看信息和更新信息时,查看所填写的信息是不是全部更新,更新信息和添加信息是否一致。要注意检查的时候每个字段都应该检查,有时候,会出现部分字段更新了而个别字段没有更新的情况。
10.信息重复: 在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理。
11.检查删除功能:在一些可以一次删除多个信息的地方,不选择任何信息,按“delete”,看系统如何处理,会否出错;然后选择一个和多个信息,进行删除,看是否正确处理。如果有多页,翻页选,看系统是否都正确删除,并且要注意,删除的时候是否有提示,让用户能够更正错误,不误删除。
12.检查添加和修改是否一致: 检查添加和修改信息的要求是否一致,例如添加要求必填的项,修改也应该必填;添加规定为整型的项,修改也必须为整型。
13.检查修改重名:修改时把不能重名的项改为已存在的内容,看会否处理,报错。同时,也要注意,会不会报和自己重名的错。
14.重复提交表单:一条已经成功提交的纪录,返回后再提交,看看系统是否做了处理。对于Web系统来说,可以通过浏览器返回键或者系统提供的返回功能。
15.检查多次使用返回键的情况: 在有返回键的地方,返回到原来页面,重复多次,看会否出错。
16.搜索检查: 有搜索功能的地方输入系统存在和不存在的内容,看搜索结果是否正确。如果可以输入多个搜索条件,可以同时添加合理和不合理的条件,看系统处理是否正确,搜索的时候同样要注意特殊字符,某些系统会在输入特殊字符的时候,将系统中所有的信息都搜索到。
17.输入信息位置: 注意在光标停留的地方输入信息时,光标和所输入的信息会否跳到别的地方。
18.上传下载文件检查:上传下载文件的功能是否实现,上传文件是否能打开。对上传文件的格式有何规定,系统是否有解释信息,并检查系统是否能够做到。下载文件能否打开或者保存,下载的文件是否有格式要求,如需要特殊工具才可以打开等。上传文件测试同时应该测试,如果将不能上传的文件后缀名修改为可以上传文件的后缀名,看是否能够上传成功,并且,上传文件后,重新修改,看上传的文件是否存在。
19.必填项检查:应该填写的项没有填写时系统是否都做了处理,对必填项是否有提示信息,如在必填项前加“*”;对必填项提示返回后,焦点是否会自 动定位到必填项。
20.快捷键检查:是否支持常用快捷键,如Ctrl+C、Ctrl+V、Backspace等,对一些不允许输入信息的字段,如选人,选日期对快捷方式是否也做了限制。
21.回车键检查: 在输入结束后直接按回车键,看系统处理如何,会否报错。这个地方很有可能会出现错误。
22.刷新键检查:在Web系统中,使用浏览器的刷新键,看系统处理如何,会否报错。
23.回退键检查:在Web系统中,使用浏览器的回退键,看系统处理如何,会否报错。对于需要用户验证的系统,在退出登录后,使用回退键,看系统处理如何;多次使用回退键,多次使用前进键,看系统如何处理。
24.直接URL链接检查:在Web系统中,直接输入各功能页面的URL地址,看系统如何处理,对于需要用户验证的系统更为重要。如果系统安全性设计的不好,直接输入各功能页面的URL地址,很有可能会正常打开页面。
25.空格检查:在输入信息项中,输入一个或连串空格,查看系统如何处理。如对于要求输入整型、符点型变量的项中,输入空格,既不是空值,又不是标准输入。
26.输入法半角全角检查:在输入信息项中,输入半角或全角的信息,查看系统如何处理。如对于要求输入符点型数据的项中,输入全角的小数点(“。”或“。”,如4。5);输入全角的空格等。
27.密码检查:一些系统的加密方法采用对字符Ascii码移位的方式,处理密码加密相对较为简单,且安全性较高,对于局域网系统来说,此种方式完全可以起到加密的作用,但同时,会造成一些问题,即大于128的Ascii对应的字符在解密时无法解析,尝试使用“uvwxyz”等一些码值较大的字符作为密码,同时,密码尽可能的长,如17位密码等,造成加密后的密码出现无法解析的字符。
28.用户检查:任何一个系统,都有各类不同的用户,同样具有一个或多个管理员用户,检查各个管理员之间是否可以相互管理,编辑、删除管理员用户。同时,对于一般用户,尝试删除,并重建同名的用户,检查该用户其它信息是否重现。同样,提供注销功能的系统,此用户再次注册时,是否作为一个新的用户。而且还要检查该用户的有效日期,过了有效日期的用户是不能登录系统的。容易出现错误的情况是,可能有用户管理权限的非超级管理员,能够修改超级管理员的权限。
29.系统数据检查:这是功能测试最重要的,如果系统数据计算不正确,那么功能测试肯定是通不过的。数据检查根据不同的系统,方法不同。对于业务管理平台,数据随业务过程、状态的变化保持正确,不能因为某个过程出现垃圾数 据,也不能因为某个过程而丢失数据。
30.系统可恢复性检查:以各种方式把系统搞瘫,测试系统是否可正常迅速恢复。
31.确认提示检查:系统中的更新、删除操作,是否提示用户确认更新或删除,操作是否可以回退(即是否可以选择取消操作),提示信息是否准确。事前或事后提示,对于Update或Delete操作,要求进行事前提示。
32.数据注入检查:数据注入主要是对数据库的注入,通过输入一些特殊的字符,如“‘”,“/”,“-”等或字符组合,完成对SQL语句的破坏,造成系统查询、插入、删除操作的SQL因为这些字符而改变原来的意图。如select * from table where id = ’ ‘ and
name = ’
‘,通过在id输入框中输入“12’-”,会造成查询语句把name条件注释掉,而只查询id=12的记录。同样,对于update和delete的操作,可能会造成误删除数据。当然还有其它一些SQL注入方法,具体可以参考《SQL应用高级SQL注入。doc》,很多程序都是基于页面对输入字符进行控制的,可以尝试跳过界面直接向数据库中插入数据,比如用Jmeter,来完成数据注入检查。
33.刷新检查:web系统中的WebForm控件实时刷新功能,在系统应用中有利有弊,给系统的性能带来较大的影响。测试过程中检测刷新功能对系统或应用造成的影响(白屏),检查控件是否回归默认初始值,检查是否对系统的性能产生较大影响(如每次刷新都连接数据库查询等)。
34.事务检查:对于事务性操作,断开网络或关闭程序来中断操作,事务是否回滚。
35.时间日期检查:时间、日期验证是每个系统都必须的,如2006-2-
29、2006-6-31等错误日期,同时,对于管理、财务类系统,每年的1月与前一年的12月(同理,每年的第1季度与前一年的第4季度)。另外,对于日期、时间格式的验证,如2006年2月28日、2006-2-
28、20060228等。日期检查还要检查日期范围是否符合实际的业务,对于不符合时间业务的日期,系统是否会有提示或者有限制36.多浏览器验证:越来越多的各类浏览器的出现,用户访问Web程序不再单单依赖于Microsoft Internet Explorer,而是有了更多的选择:Maxthon、Firefox、Tencent Traveler等,考虑使用多种浏览器访问系统,验证效果。
37.安装测试:对于C/S架构的系统,安装程序的测试是一个重要方面,安装程序自动化程度、安装选项和设置(验证各种方案是否都能正常安装)、安装过程中断测试、安装顺序测试(分布式系统)、修复安装及卸载测试。
38.文档测试:主要是对用户使用手册、产品手册进行测试,校验是否描述正确、完整,是否与当前系统版本对照,是否易理解,是否二义性等。
39.测试数据检查:事实告诉我们,测试数据比代码更有可能是错的,因此,当测试结 果显示有错误发生的时候,怀疑代码错误前要先对测试数据检查一遍。
40.请让我的机器来运行:在某些项目中,出现一个病态的问题:系统没有问题呀,它在我的机器上是能够通过的。这就说明了其中存在着和环境相关的BUG.“是否所有的一切都受到了版本控制工具的管理 ”、“本机的开发环境和服务器的环境是否一样 ”、“这里是否存在一个真正的BUG,只不过是在其他的机器里偶然出现 ”。所有的测试必须在所有系统要求的机器上运行通过,否则的话,代码就可能存在问题。
41.Ajax技术的应用:Ajax有很多优点,但也有很多缺点,如果利用优点、避免缺点,是我们对新的Web2.0应用的一个挑战。而Ajax的应用最直接的问题就是用户体验,用户体验的效果直接关系到是否使用Ajax技术。“会做,并不意味着应该做、必须做”,这就是对Ajax技术的很重要的注解。
42.Ajax技术的应用:Ajax采用异步调用的机制实现页面的部分刷新功能,异步调用存在异常中断的可能,尝试各种方法异常中断异步的数据调用,查看是否出现问题。在这里遇到的一个问题就是对日期控件的操作,已经如果页面数据较多的时候的刷新。
43.脚本错误:随着Ajax、IFrame等异步调用技术的发展,Javascrīpt技术也越来越受到开发人员的重视,但Javascrīpt存在调试困难、各浏览器存在可能不兼容等问题,因此在Web系统中,可能会出现脚本错误。同时,脚本错误造成的后果可大、可小,不能忽视
第四篇:宝贝页面装修总结
宝贝页面装修总结
1:店铺活动
营造促销的氛围,渲染店铺特色,促销活动的通告或预告,新款上线的通告或预告,主推款式的海报,大促时可以考虑加入关联营。
2:模特图+文案
展示上身效果,激发购买冲动。清晰的大图(全身),呈现正面、背面和侧面的上身效果(每张图片都增加不同信息含量来表现款式),若有多个颜色,以主推颜色为主,其他颜色辅以少量展示,版宽度一致(可以采用拼贴),减少无意义留白。
3:产品图+推荐理由
展示商品全貌,产品正面、背面清晰图,根据衣服本身的特点选择挂拍或平铺,运用可视化的图标描述厚薄、透气性、修身性、衣长材质等产品相关信息。详情参考眼袋自制等店铺的图标描述法。
4:细节图
近距离展示商品亮点展示清晰的细节(近距离拍摄),呈现面料、内衬、颜色、扣子/拉链、走线和特色装饰等,细节:特别是领子、袖子、腰身和下摆等部位,如有色差需要说明,如有促销活动或者节假日,加入文案设计。
5:尺码描述
帮助用户自助选择合适的尺码,模特信息告知身材参数,加入试穿感受:试穿感受最好能写清楚试穿人的身高体重,三围以及平时经常穿的号码。
6:相关推荐&店铺其他说明
搭配单品、系列款式的推荐物流、退换货和导购信息(如运用流程图和图标描述退换货),其他店铺信息的言简意赅的文字信息(如体现专业性的厂房,精美的包装),请参考淘品牌卖家如何制作,根据自身修改即可。
总结:一定要站在顾客的角度去思考,如果你要买这样的宝贝,关心哪些问题,比如不同角度的照片、材质、尺寸、市场价、你的优惠价、重量、颜色、适合人群、寓意、使用与保养注意事项、宝贝相关文化、基础知识、真假辨别、赠品、服务承诺、支付方式等等。
(在学习包的打造爆款的资料中有非常经典的细节介绍,请大家学习)
第五篇:浅析地方旅游门户网站页面优化方法
浅析地方旅游门户网站页面优化方法
常言道:人靠衣装,佛靠金装,打扮也是很要紧的。这句话充分体现出想要有好的一面就要学会装饰自己,让自己从内到外显得尤为特殊,而对于网站来说也是要遵循这一规则。目前,旅游的黄金假期快要到来,很多地方性的旅游门户网站已经大规模崛起,这也使得地方性旅游网站的页面优化被很多seoer所关注。
对于地方性门户旅游网站来说,想要在这个旅游假期取得一个好的成绩,特别是那些刚刚起步的地方旅游网来说,页面优化是尤为重要的,想从众多竞争对手中脱颖而出,就想将自己的旅游网页面进行优化好,虽然网站页面优化是老生常谈的问题,但对于目前的情况,地方性旅游网站需要特别主要网站页面的优化。下面由笔者与大家浅析一下,地方旅游门户网站页面优化的方法。
一、Meta标签的优化
Meta标签无非就是标题标签、关键词标签以及描述标签,这三大标签对于优化网站来说起到至关重要的一步,同时也是优化人员最重视的一个步骤,所以在三大标签上要做好一定的研究。
标题标签的优化:标题标签要重视一下,在写标题的时候关键词出现一次即可,如果标题很长的话可以出现两次关键词,让其自然出现。举个例子:“贵州旅游在线_贵州最权威的专业旅游门户网站”可以看出在这段话里包含目标关键词“贵州旅游”还有一些“网”等字眼,这样搜索引擎就会认为标题标签里含有一定的关键词。
关键词、描述标签的优化:笔者认为这两大标签对优化已经起不到任何作用了,用不好反而会带来优化过度的后果,因此关键词标签可以砍掉不去优化,但描述标签不能砍掉,描述标签虽起不到优化网站的作用,但对于用户体验来讲很重要,所以要做好优化,可以写一些有吸引力和可读性的一段话作为描述。
kfk 高峰论坛 www.xiexiebang.com
举个例子:关键词已经建议砍掉哦了,所以这里就不举例。主要是描述标签,描述标签直接影响到的是用户体验,可以这么写:“贵州旅游网为您提供最全面的贵州旅游攻略分享,贵州旅游线路大全及报价,团队线路定制、酒店与各种票务预定、旅游租车、会议接待等服务。联系电话:xxxx--xxxxxxx”这段话笔者认为对用户有一定的吸引力,也是用户想搜索的内容。
二、正文页面的优化
对于正文的优化既是网站内容的优化,目前百度很重视网站的用户体验,这也证明了一点,网站的内容是必须要做的,而且要完美的将内容做出来并且呈现给用户,让用户看到最真实的一面。笔者认为想要地方旅游网站快速的发展起来,内容要做好,所以在内容上不要草草了之。
怎么对正文优化笔者建议在写内容的时候要自然的去写作,如果旅游网站属于刚建设好的网站,在内容方面要下点苦心要以原创为主,千万不要为了文章而文章,然后就是尽量写一些相关的词加进去,比如某景点的名称、网站需要优化的关键词等,写完文章之后要让用户看的舒心,这样才会对优化网站有利。
三、H/ALT标签的优化
H和ALT标签对于页面优化也是非常重要的,可以说整体页面想被蜘蛛又好的爬行并抓取,ALT标签要做到最好。做过旅游网站的人都知道旅游网的是最多的,更是起到图文并茂的作用,让用户看到了旅游景点的样貌,这对于用户来说是很好的体验,可对于蜘蛛来说却起到了作用,蜘蛛是不认识的,所以在页面有的对方都要加上ALT信息对进行描述。而H标签,笔者建议的是将最重要的关键词出现在H1标签里,而H2和H3标签就无需过问了,黑体斜体的作用都不是很大。
四、关键词布局的优化
kfk 高峰论坛 www.xiexiebang.com
很多网站编辑在写地方旅游网站软文的时候都喜欢将目标关键词强加到文章正文当中,而且很明显让用户一眼就看出来了,这些普遍网站文章最常犯的一个毛病,一点都没有给用户体验。什么是用户体验不管在页面上给用户友好体验,在网站文章中也要给用户体验,所以在写旅游网软文的时候不要乱添加关键词,要把关键词布局好。
对关键词布局笔者认为要想好的把握,并且不重复出现某些关键词,让关键词自然出现就可以了,或者可以按照笔者给的建议,如:开头出现一次关键词,中间出现两次关键词,结尾出现一次关键词。这分配后感觉整体文章看的都很舒服,给的用户体验也就越来越多。
kfk 高峰论坛 www.xiexiebang.com