1,asp.net里面系个按钮事件写入一个javascript方法的时候会报错的,话未找到该方法的定义,上网稳左好耐,终于知道点搞。
解决方法:后台代码写按钮的触发事件的方法。例如,先系前台代码写一个javascript的function方法aa();后台代码load事件里面写入:Button1.Attributes.Add("Onclick","return aa()");//为此按钮加入一个onclick事件,方法名aa()。
2.在asp.net中写javastript时候调用不了变量。错误示例:Response.Write("<script>alert(str);</script>");
正确写法: Response.Write("<script>alert('" + str+ "');</script>");
3,内容页中如何访问自定义控件呢?例子:
((Label)(Master.FindControl("Menu1").FindControl("labDate"))).Text ="今天是:"+ DateTime.Now.ToLongDateString();
因为自定义控件在master模板里面,所以先找到模板,然后在模板中找自定义控件就可以了。
4,乜叫启动事件验证啊?EnableEventValidation="false"又系乜意思呢?
5,顶肺,发觉datagridview的“编辑”非常不好用,当处于”编辑“状态的时候,所有字段都要显示(主键除外),只要隐藏一个字段或者设置为某一字段为不可编辑,都会直接导致更新不了数据。呢个真系vs2005要改进的地方啊,非常不方便。
6,普通网站转Ajax网站。网上看的方法比较麻烦,于是我念左方法。就系新建一个Ajax的网站先,然后把普通网站的内容复制过去。刷新一下,当然要该web.config里面的内容,主要系重新写数据库连接部分。咁就基本ok,不过都系有问题,就系如果用到sqldatasource的时候由于复制过来的原因,会无晒D sqldatasource的,要自己重新配置一下。
7,gridview中,取值问题 string ss = ((Label)(GridView1.Rows[0].FindControl("Label1"))).Text;
8,控制只能输入数字JavaScript方法:
<script>
function NumberKey()
{
if(!((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105)))
{
event.returnValue = false;
}
}
</script>
9,Ajax 1.0版本不支持response.write();方法的解决方法。
原因:
由于页面中加入了UpdatePanel,而且删除按钮在UpdatePanel里面。
当用户点击删除按钮时,ajax1.0不支持Response.write里面调用javascript。
解决办法:
在UpdatePanel的属性中添加PostBackTrigger,ControlID为该删除按钮,如下:
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<Triggers>
<asp:PostBackTrigger ControlID="Button1" />
</Triggers>
<ContentTemplate>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<asp:Button ID="Button1" runat="server"onClick="Button1_Click" Text="Button" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
今天又遇到个Ajax的问题,在考试系统那个项目里面。交卷问题,时间到了就自动交
解决方法:
ScriptManager.RegisterStartupScript(Page, Page.GetType(), Guid.NewGuid().ToString(), "alert('交卷完成!');location='Default.aspx';", true);
估计大概代码的意思是:注册一个JavaScript脚本,让他不被Ajax截取吧
10,datalist和repeater分页自动编号的问题。
不分页好容易办,直接:<%#Container.ItemIndex + 1%>就得了。
如果有分页的时候:<%# Container.ItemIndex + 1 + (this.curPage - 1)*4%> //curpage定义为public,表示当前的页码,4代表显示的条数。
11,select a.Stu_id ,a.score ,b.LessionName from Stu_Score as a
left join LessionType as b on a.LessionType=b.id 左外连结
12,reapter绑定数据,日期时间的时候无得选。可以前台咁绑定:
Eval和Bind的格式化字符串所处位置不同,以下举出几个例子:
(1)Eval是单向取值,既可以使用系统定义的函数格式化,也可以调用自己定义的格式化函数(如例子中的MyFormatFunction函数)。
<%# string.Format("{0:yyyy-MM-dd}",Eval("BirthDate")) %>
<%# MyFormatFunction(Eval("BirthDate")) %>
(2)Bind是双向的,格式化字符串既被用于格式化显示,又要作为数据输入验证。
<%# Bind("BirthDate","{0:yyyy-MM-dd}") %>
<%# Bind("Birthday","{0:M.d}") %>
13,gridview查找控件的时候要加个判断,因为不加会先从标题读取
if (e.Row.RowType == DataControlRowType.DataRow) //判断是否为绑定数据行
{
getTypeName(e);
}
14,生成在线QQ的状态。
简单到阿妈都唔认得。。http://imis.qq.com/webpresence/code.shtml直接可以解决的。
15,web.config里写连接字符串
<appSettings>
<add key="constr" value="server=.;initial catalog=gamemansa;uid=sa;pwd=123456"/>
</appSettings>
<connectionStrings >
<add name="pwdmd5" connectionString="server=.;initial catalog=gamemansa;uid=sa;pwd=123456"/>
</connectionStrings>
获得方法: string connstr = System.Configuration.ConfigurationManager.AppSettings["constr"];
string connstr = System.Configuration.ConfigurationManager.ConnectionStrings["pwdmd5"].ToString();
16.MD5进行数据库密码加密
string pwdmd5 = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(txtpwd.Text, "MD5");
存入数据库的是加密后的密码。。。在验证登陆信息的时候把账号和加密后的密码和数据库中加密的密码进行比对。。就可以判断是否通过验证。
17. 跟随鼠标动态生成一个表格
<html>
<head>
<title>鼠标跟随</title>
<script language=javascript>
<!--
var x,y
var CanBool=0
function canMove(){
x=document.body.scrollLeft+event.clientX
y=document.body.scrollTop+event.clientY
CanBool=1
}
function move(){
if(CanBool){
block.style.posLeft=x+20
block.style.posTop=y
pos.innerHTML="现在的鼠标位置:("+x+"坐标,"+y+"坐标)"
}
setTimeout('move()',100)
}
-->
</script>
</head>
<body οnlοad="move()" onMouseMove="canMove()">
<font face="隶书" size=5 color=blue>鼠标移动文字跟随效果</font>
<div id="pos" style="position:absolute;left:10px;top:50px">现在的鼠标位置:(X坐标,Y坐标)</div>
<div id="block" style="position:absolute;left:250px;top:118px;z-index:6">
<table style="background-color:Green">
<tr>
<td>324</td>
<td>sdf</td>
</tr>
<tr>
<td>we</td>
<td>wed</td>
</tr>
</table>
</div>
</body>
</html>
**************AZIO贷款项目****************
18.导航条根据页面的不同自动匹配具体的颜色。例如导航条有:主页 NBA 世界杯 论坛 。当我在首页的时候首页的字体颜色就红色,其他就蓝色;当切换到NBA页的时候,导航条的NBA就变为红色,其他就蓝色。
需求是把导航条做成一个自定义控件,然后供给其他页面调用。如果不做成自定义控件绝对可以每个页面写死控制具体颜色就行了。但是要做成这个样子的话我考虑到用后台代码来控制。我们这个项目的<a>标签是用html的元素,首先要系前台页面改下html标签,这样容易给后台调用,加:<a href="#" runat="server" id="aa"> test</a> 加上runat="server"就ok,然后后台代码这样控制 aa.Style["Color"] = "Black";
注意:必须要改成服务器控件,然后给一个id给它。。
vb 写法:dim str as string=Request.ServerVariable("URL")
dim pname as string =str.Substring(str.lastIndexOf("/")+1)
if(pname.Equals("Index.aspx")) then
Home.Style.Add("Color","#ffe400")
End If
19.
<asp:TextBox ID="txtDepartMent" runat="server" style="TEXT-TRANSFORM: uppercase" CssClass="formElm"></asp:TextBox>
自动转大写
<asp:TextBox ID="txtDepartMent" runat="server" style="TEXT-TRANSFORM: lowercase" CssClass="formElm"></asp:TextBox>
自动转小写
20 .vs2005不能像2008一样,tab键后会选中后一个文本框的选中内容,自己写javascript代码如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
<script language="javascript" type="text/javascript">
function kcode(event)
{
//alert(event.keyCode)
if(event.keyCode==9)
{
//alert(0)
var txtrange =document.all("Text2").innerHtml.createtextrange();
txtrange.movestart( "character", x.value.length);
txtrange.moveend( "character", 0 );
txtrange.select();
}
}
function focuso()
{
document.all("Text1").focus();
}
</script>
</head>
<body οnlοad="focuso()">
<form id="form1" runat="server">
<div>
<input id="Text1" type="text" οnkeydοwn="kcode(event)" tabindex="1" /><asp:Button
ID="Button1" runat="server" Text="Button" TabIndex="3" />
<input id="Text2" type="text" tabindex="2" /></div>
</form>
</body>
</html>
21.分组查询后返回各组的前几条记录。唔明点解,先写落来
SELECT DISTINCT b.*
FROM PenddingReminding AS a
CROSS APPLY
(
SELECT TOP(2) * FROM PenddingReminding WHERE a.HpNo=HpNo ORDER BY dateTime desc
) AS b order by HpNo,dateTime desc
22.((Label)Page.FindControl("uc1").FindControl("Label1")).Text="sssss";
转换成vb的写法:
DirectCast(Page.FindControl("uc1").FindControl("Label1"), Label).Text = "sssss"