存档

‘编程语言’ 分类的存档

网页开发的6种在线调试环境

2012年2月17日 冰点浏览次数(13) 没有评论

如今的网页代码,一般由三个部分组成:

  * HTML,语义层,提供网页的内容。

  * CSS,表现层,规定网页的外观。

  * Javascript,动作层,定义用户与网页的互动。

理想的开发环境,应该既可以分别调试这三种代码,又可以轻松查看它们合并在一起的整体效果。

浏览器是最合适的效果查看工具,所以很多人想到,代码调试环境也可以直接部署在浏览器中,以网站的形式提供服务。

下面,我根据Design Shack的文章,总结一下目前最常见的6种网页开发在线调试环境。它们大大方便了网页设计师的工作,极大地提供了工作效率。

一、CSSDesk

网址:http://cssdesk.com/ (需翻墙)

这个网站是最早出现的在线调试环境之一,主要用于调试CSS。 阅读全文…

VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程

2012年2月8日 冰点浏览次数(7) 没有评论

开篇语:最近在弄ocx控件发布到asp.net网站上使用,就是用户在使用过程中,自动下载安装ocx控件。(此文章也是总结了网上好多人写的文章,我只是汇总一下,加上部分自己的东西,在这里感谢所有在网上发表相关内容的朋友们。)

ActiveX控件用于Web的过程是将控件嵌入主页中,用户通过浏览器访问该主页时,将主页中的控件下载,并在用户机器上注册,以后就可在用户的浏览器上运行。控件下载一次后就驻留在用户本地机器上,下次再访问相同的主页时,可不再下载该控件,而是直接运行用户本地的控件。这里控件容器就是浏览器,用户不需要通过浏览器调用控件的属性或方法。因此,开发面向Web的ActiveX控件比开发桌面的控件还要简单些,所复杂的是如何将该控件很好地嵌入主页,使用户能正常浏览。下面介绍这个问题。 阅读全文…

从客户端中检测到有潜在危险的 Request.Form 值的最优解决方案

2012年2月7日 冰点浏览次数(8) 没有评论

ASP.Net 1.1后引入了对提交表单自动检查是否存在XSS(跨站脚本攻击)的能力。当用户试图用之类的输入影响页面返回结果的时候,ASP.Net的引擎会引发一 个 HttpRequestValidationExceptioin。默认情况下会返回如下文字的页面:

以下是引用片段:
Server Error in ‘/YourApplicationPath’ Application

A potentially dangerous Request.Form value was detected from the client
(txtName=”<b>”). 阅读全文…

解决sql server触发器的影响行数对程序的影响

2011年12月30日 冰点浏览次数(18) 没有评论

解决方法:
方法很简单,就是直接在触发器内关闭触发器的影响行数。使用如下语句:
set nocount on——-关闭影响行数
set nocount off——-打开影响行数

分类: C#/ASP.NET, MSSQL 标签: , ,

Asp.Net与SEO-Viewstate优化终极解决方案

2011年11月3日 冰点浏览次数(39) 没有评论

这段时间,老大在看了网站后,发现viewstate所产生的一堆乱码,严重影响了我们网站http://www.xbcar.net 西部汽车网的打开速度和搜索引擎的抓取.就给我下了道铁令,三天内必须解决.这下该轮到我头大了,
例如:
input type=”hidden” name=”__VIEWSTATE” id=”__VIEWSTATE” value=”dEV4cHJlc3Npb247UmVhZE9ubHk7PjtsPHB1Yl9uYW1lO3B1Yl9uYW1lO3B1Yl9uYW1 lO288Zj47Pj47Ozs7PjtAMDxw” />
 

我立马翻遍了所有的资料,及查遍了百度和Google。以求得到最佳解决方案。但都没有一个完整的解决方案。都写的比较零碎。但黄天不负有心人,最终还是让我找到了几种方案,并加以修改,改进。在此我要感谢这几个方案的提供者。谢谢他们的分享,在解决完我自己的问题后,有感于前几位的分享,故我也不敢独自分享,现在总结七种解决方案如下,以供大家分享,有不对的地方欢迎拍砖。现把ViewState的优化方法总结如下:

第一种解决方案(最快的一种,但是以牺牲asp.net方便性为代价的)西部汽车网

禁用viewstate。可在web.config里配置,或者页面@Page指令里加入 Enableviewstate=”false” ,即可防止上面的乱码了。然后页面传值使用form或者cookies,别用session和application他们都是服务器杀手,但这种方式灵活度不高,而且微软自带的控件无法使用了,不如用 阅读全文…

vs2010 C++编译程序的小问题

2011年10月18日 冰点浏览次数(47) 没有评论

vs2010 C++编译程序生成的EXE文件执行提示缺少:msvcp100d.dll,msvcr100d.dll等文件.

解决方法:

打开生成->配置管理器,将debug改成release。
然后在项目->项目属性->配置属性->常规中>MFC的使用,将使用windows程序库 改成 在静态库中使用MFC。
重新生成就可以了。
分类: C|C++ 标签: ,

PHP获取mysql自增后的ID

2011年10月14日 冰点浏览次数(30) 没有评论

PHP获取mysql自增后的使用mysql_insert_id()函数.

$result="INSERT INTO user VALUES (null,1,2,3)";
mysql_query($result);
echo mysql_insert_id();

PHP与webservice

2011年10月14日 冰点浏览次数(43) 没有评论

PHP 使用soap也是很方便的,直接看代码.

PHP 普通版:

webserviceServer服务端(soaps.php):

<?php
$soap = new SoapServer(null,array('uri'=>"http://localhost/"));
$soap->addFunction('minus_func');                                       
$soap->addFunction(SOAP_FUNCTIONS_ALL);
$soap->handle();
function minus_func($i, $j){
 $res = $i - $j;
 return $res;
}
?>

webserviceClient客户端调用:

<?php
try {
 $client = new SoapClient(null,  array('location' =>"http://localhost/soaps.php",'uri' => "http://localhost/")  );
 echo $client->minus_func(100,9);
} catch (SoapFault $fault){
 echo "dxbError: ",$fault->faultcode,", string: ",$fault->faultstring;
}
?> 阅读全文...
分类: PHP 标签: , ,

ASP.NET几种页面传值的方法

2011年9月16日 冰点浏览次数(28) 没有评论

ASP.NET中页面传值

一、目前在ASP.NET中页面传值共有这么几种方式:
1、表单提交,
<form action= "target.aspx" method = "post" name = "form1">
 <input name = "param1" value = "1111"/>
 <input name = "param2" value = "2222"/>
</form>
   ....
   form1.submit();
   ....
   此种方在ASP。NET中无效,因为ASP。NET的表单总是提交到自身页面,如果要提交到别一页面,需要特殊处理。
2、<A href="target.aspx?param1=1111&param2=2222">链接地址传送</A>
接收页面: string str = Request["param1"]
3、Session共享
发送页面:Session("param1") = "1111"; 
按收页面  string str = Session("param1").ToString(); 
4、Application共享
发送页面: Application("param1") = "1111";  
按收页面: string str = Application("param1").ToString(); 
此种方法不常使用,因为Application在一个应用程序域范围共享,所有用户可以改变及设置其值,故只应用计数器等需要全局变量的地方。
5、Cookie
6、Response.Redirect()方式
   Response.Redirect("target.aspx?param1=1111&param2=2222")
   接收页面: string str = Request["param1"]
7、Server.Transfer()方式。
   Server.Transfer("target.aspx?param1=1111&param2=2222")
   接收页面: string str = Request["param1"]
8、我们建立一个CrossPageSubmitTest.aspx页面,在任意页面建立一个按钮提交到 CrossPageSubmitTest.aspx。
<asp:ButtonID="btn_CrossPageSubmit" runat="server"OnClick="btn_CrossPageSubmit_
Click"PostBackUrl="CrossPageSubmitTest.aspx" Text="跨页面提交" />
然后在CrossPageSubmitTest.aspx的Page_Load中加入以下代码就能输出前一个页面上btn_CrossPageSubmit按钮的Text属性。
Response.Write((PreviousPage.FindControl("btn_CrossPageSubmit")as Button).Text);

二、如果在两个页面间需要大量的参数要传传递,如数据查询等页面时,用1 - 6的方法传值及其不便,而第 7 种方法确有一独特的优势!但使用该方法时需要一定的设置,现简单介绍一下该方法的使用方式:

  以查询数据页面为例:

   在查询页面中设置如下公有属性(QueryPage.aspx):

    public class QueryPage : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox txtStaDate;
protected System.Web.UI.WebControls.TextBox txtEndDate;
   ...
/// <summary>
/// 开始时间
/// </summary>
public string StaDate
{
get{ return this.txtStaDate.Text;}
set{this.txtStaDate.Text = value;}
}
/// <summary>
/// 结束时间
/// </summary>
public string EndDate
{
get{ return this.txtEndDate.Text;}
set{this.txtEndDate.Text = value;}
}
....

private void btnEnter_Click(object sender, System.EventArgs e)
{
Server.Transfer(“ResultPage.aspx”);
}
}   在显示查询结果页面(ResultPage.aspx):

    public class ResultPage : System.Web.UI.Page
{
   private void Page_Load(object sender, System.EventArgs e)
   {
//转换一下即可获得前一页面中输入的数据
QueryPage queryPage = ( QueryPage )Context.Handler;
Response.Write( “StaDate:” );
Response.Write( queryPage.StaDate );
Response.Write( “<br/>EndDate:” );
Response.Write( queryPage.EndDate );
  }
}

jquery 只执行一次的方法

2011年9月14日 冰点浏览次数(150) 没有评论

有时候只需要执行一次的js代码:

<!DOCTYPE html>
<html>
<head>
  <style>
div { width:60px; height:60px; margin:5px; float:left;
background:green; border:10px outset; 
cursor:pointer; }
p { color:red; margin:0; clear:left; }
</style>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
  
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
 
<p>Click a green square...</p>
 
<script>
var n = 0;
$("div").one("click", function() {
  var index = $("div").index(this);
  $(this).css({ 
    borderStyle:"inset",
    cursor:"auto"
  });
  $("p").text("Div at index #" + index + " clicked." +
      "  That's " + ++n + " total clicks.");
});
 
</script>
 
</body>
</html>
纯JS代码:
var obj = new Object();
obj.triggerOnce = function(fn) { //控制让函数只触发一次
return function() {
try {
fn.apply(this, arguments);
}
catch (e) {
var txt = "There was an error on this page.nn";
txt += "Error message: " + e.message + "nn";
txt += "Error name: " + e.name + "nn";
//alert(txt);//正式平台上可能需要注释掉该行
}
finally {
fn = null;
}
}
} 

调用形式:
代码如下:
function showMsg(arg){
alert(arg);
}
var fn=obj.triggerOnce(showMsg);
fn(1);//只执行一次
fn(2);//没有调用fn
分类: JAVASCRIPT 标签: ,

发现javascript eval不能解析的字符串[不能减负数]

2011年9月8日 冰点浏览次数(19) 没有评论

代码:

function add(a, b) {
               alert(a-b);//不报错
                 alert(eval(a.toString() +"-"+ b.toString()));//报错 里面字符串不能计算
        }
        add(11, -22)

谁知道这是神马原因?

分类: JAVASCRIPT 标签: , ,

怎么彻底解决浏览器css兼容性

2011年9月5日 冰点浏览次数(24) 没有评论

有非常多关于CSS Hack的教学文章,当然处理方法也有很多种,接下来要跟大家说明的是属于比较简单的方法,但是以下的校正确无法通过W3C检测,虽然无法通过检测,但是针对各个浏览器校正确是有效的。

区别IE和Firefox

【辨识符号】:「9

【范例练习】:

#tip {

background:blue; /*Firefox 背景变蓝色*/

background:red 9; /*IE6、IE7、IE8背景变红色*/

}

阅读全文…

分类: HTML/CSS 标签: , ,

ASP.NET回调实现AJAX

2011年8月25日 冰点浏览次数(23) 没有评论

新建Default.aspx页面
前台代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>无标题页</title>
    <script type="text/javascript">
        //向服务器传递参数
        function DoSearch() {
            var firstName = document.getElementById("TextBox1").value;
            CallServer(firstName, "");
        }

        //得到服务器的数据
        function ReceiveServerData(txtUserInfo) {
            Results.innerHTML = txtUserInfo;
        }

        //设置每1秒执行一次
        // setInterval("DoSearch()", 1000);
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        姓名:<asp:TextBox regname="123" onblur="DoSearch()" ID="TextBox1" runat="server"></asp:TextBox>
        <br />
        <span id="Results" style="background-color: Pink; width: 500px;"></span>
    </div>
    <asp:Button ID="Button1" runat="server" Text="Button" />
    </form>
</body>
</html>

  阅读全文…

分类: C#/ASP.NET, JAVASCRIPT 标签: , ,

ASP.NET利用NPOI 1.2.3导出EXCEL2007下载

2011年8月24日 冰点浏览次数(282) 没有评论

代码如下:

HSSFWorkbook hssfworkbook = new HSSFWorkbook();
Sheet sheet = hssfworkbook.CreateSheet("new sheet");
Cell cellTitle = sheet.CreateRow(0).CreateCell(0);//创建单元格
cellTitle.Row.Height = 550;//行高
cellTitle.SetCellValue(name);//单元格值
sheet.AddMergedRegion(new CellRangeAddress(0, 0, 0, 12));//合并标题行 阅读全文...

ASP.NET导出Excel下载

2011年8月23日 冰点浏览次数(73) 没有评论

调用COM组件代码如下:

Microsoft.Office.Interop.Excel.Application Excel = new Microsoft.Office.Interop.Excel.ApplicationClass();
        _Workbook wk = Excel.Workbooks.Add(true);
        _Worksheet ws = (_Worksheet)wk.ActiveSheet;
        ws.get_Range(Excel.Cells[1, 1], Excel.Cells[1, 13]).MergeCells = true;//合并单元格
        ws.get_Range(Excel.Cells[1, 1], Excel.Cells[1, 12]).Borders.LineStyle = 1;//加边框
        ws.get_Range(Excel.Cells[1, 1], Excel.Cells[1, 12]).Borders.ColorIndex = "3";//边框颜色
        ws.get_Range(Excel.Cells[1, 1], Excel.Cells[1, 13]).HorizontalAlignment = XlVAlign.xlVAlignCenter;//设置居中对齐
        ws.get_Range(Excel.Cells[1, 1], Excel.Cells[1, 13]).Font.Size = 18;//设置字体
        ws.get_Range(Excel.Cells[1, 1], Excel.Cells[1, 13]).Font.Color = System.Drawing.Color.White;//字体颜色
        ws.get_Range(Excel.Cells[1, 1], Excel.Cells[1, 13]).Interior.ColorIndex = "49";
        ws.Cells[1, 1] = "ASP.NET导出Excel下载"; 阅读全文...
分类: C#/ASP.NET 标签: , ,