勇仔的学习笔记

2006年8月12日 #

正则表达式网上学习资料

全面的
http://www.wujianrong.com/docs/regular_expression.htm
http://unibetter.com/deerchao/zhengzhe-biaodashi-jiaocheng-se.htm

http://blog.csdn.net/colin310/archive/2005/02/18/292830.aspx

posted @ 2008-07-07 14:52 勇仔 阅读(5) | 评论 (0)编辑

用最简单的方法实现Ajax

Aspx文件:
    <script type="text/javascript">
    
function callToServer()
    

     
var param = document.getElementById("txtMessage").value + "&pa"+document.getElementById("a").value;
     
var context = ""
     document.getElementById(
"a").value = document.getElementById("a").value;
//     WebForm_InitCallback();
     <% = callbackScript %>
    }

 
     
function handleResultFromServer(result)
     

        document.getElementById(
"txtResult").innerHTML = result;
     }

     
</script>
    
<form id="form1" runat="server">
    
<div><INPUT id="txtMessage" />
    a
<input id="a" name="a" />
    
<INPUT onclick="callToServer();" type="button" value="Call to Server" />
    
<br />
    
<span style="color:#ff0000"></span>
    Result : 
    
<div id="txtResult"></div>
    
</div>
    
</form>
Aspx.cs文件:

public partial class Test : System.Web.UI.Page, System.Web.UI.ICallbackEventHandler
{
    
protected string callbackScript
    
{
        
get
        
{
            ClientScriptManager cm 
= Page.ClientScript;
            
//return this.GetCallbackEventReference(this, "param", "handleResultFromServer", "context");
            return cm.GetCallbackEventReference(this"param""handleResultFromServer""context");
        }

    }

    
private string arg = "";

    
protected void Page_Load(object sender, EventArgs e)
    
{
    }

    
public void RaiseCallbackEvent(string eventArgument)
    
{
        arg 
= eventArgument + Request["a"];
        
for (int i = 0; i < Request.Params.Count; i++)
        
{
            arg 
+= "Name:" + Request.Params.GetKey(i) +":Value:<span style=\"color:#ff0000\">" + Request.Params[i] + "</span><br/>";
        }

    }

    
public string GetCallbackResult()
    
{
        
return "客户端在[" + DateTime.Now.ToString() + "]传送来 [" + arg + "].";
    }

}

这里主要是用到了Asp.net自带的 System.Web.UI.ICallbackEventHandler接口。
实现的这个接口的控件(包括页面)都可以以异步的方式用服务器发送数据。还可以设置一个回调函数。这个方法有两个局限:函数的返回类型只能是字符串类型。方法只有一个参数(可以通过分割字符串实现多个参数,但不安全。)

posted @ 2007-07-18 16:54 勇仔 阅读(18) | 评论 (0)编辑

关于onMouseOver出现提示文字的多行处理办法

有时候我们需要对超链接<a href="路径" title="提示文字">链接文字</a>里边的提示文字使用换行(即需要多行提示),可是title,alt之类里边的提示内容是不支持HTML书写的,怎么解决?
很容易,下面有三种方法:
1、把<BR>换成 就可以了,如下代码:
<href="" title="标题:Test Title Clip 时间:2005-11-20 作者:goaler">Test Title Clip</a>

        效果如下:
        Test Title Clip

2、把 换也 或 效果也一样

3、直接加硬回车也一样的效果,例如:
        <a href="...." title="AAAAA
        BBBBB
        CCCCC
        DDDDD">test</a>

posted @ 2006-08-24 15:07 勇仔 阅读(147) | 评论 (0)编辑

验证码缓存问题完美解决方案

在验证码页面后加一个随机的参数。这样历史记录里就不会有相同的请求了,也就不存在缓存的问题了。
代码如下:

<img id="imgvc" src="ValidateCode.aspx?t='+Math.round(Math.random()*1e17)'" onclick="getObject('imgvc').src='ValidateCode.aspx?t='+Math.round(Math.random()*1e17);" width="66" height="20" align="absmiddle" />

posted @ 2006-08-22 19:29 勇仔 阅读(106) | 评论 (0)编辑

由于登录失败而无法启动服务的解决方案

在本版面出现这个问题的频率也算是很高的了,新手通常会比较多遇到这个问题
  原因很简单,安装SQL Server时是使用默认登录用户来作为启动SQL Server服务的账号(对于自己使用的单机,通常就是administrator了),当该用户更改了用户名(如有人喜欢把administrator改成admin)或更改了其口令时,再次启动服务器,就出现“同于登录失败而无法启动服务”的错误了
  知道了原因,解决方法也就很显然了
  1,把用户口令改回原来的,再启动服务
  2,使用控制面版服务管理器,找到MSSQLSERVER服务,更改启动账号信息,改成变更后的,再启动服务
  3,也是推荐使用的方法,创建一个新用户,专门用于启动SQL Server服务,安装SQL Server时就使用该用户来启动SQL Server,这样就可以避免用于频繁更改administrator口令而带来的1069错误了。如果已经安装好SQL Server,也可以在控制面版服务管理器下更改MSSQLSERVER服务的服务账号信息,换成SQL服务专用的用户。 【转自世

posted @ 2006-08-12 10:26 勇仔 阅读(34) | 评论 (0)编辑