好像有一个月左右没来了,继续吧:
1遇到的问题:
使用了验证控件,编译时提示“无法找到脚本库……”
解决方法:
由于更换了主目录路径,应将在wwwroot下的aspnet_client文件夹拷到新的目录下即可
2遇到的问题:
关于style中的alpha滤镜
解决方法:
滤镜说明:
Alpha:设置透明层次.
滤镜:alpha
语法:
STYLE="filter:Alpha(Opacity=opacity,FinishOpacity=finishopacity,Style=style,StartX=startX,StartY=startY,FinishX=finishX,FinishY=finishY)"
说明:
Opacity:起始值,取值为0-100,0为透明,100为原图.
FinishOpacity:目标值.
Style:1或2或3
StartX:任意值
StartY:任意值
例子1:filter:Alpha(Opacity="0",FinishOpacity="40",Style="2")
例子2:<div id="mymenu" style="filter:alpha(opacity=50);border:1px solid">(即半透明)
附常见滤镜:
style的css设置 2005-5-5 11:54:18
语法:STYLE="filter:filtername(fparameter1,fparameter2...)}(Filtername为滤镜的名称,fparameter1、fparameter2等是滤镜的参数)
滤镜说明:
Alpha:设置透明层次.
blur:创建高速度移动效果,即模糊效果.
Chroma:制作专用颜色透明.
DropShadow:创建对象的固定影子.
FlipH:创建水平镜像图片.
FlipV:创建垂直镜像图片.
glow:加光辉在附近对象的边外.
gray:把图片灰度化.
invert:反色.
light:创建光源在对象上.
mask:创建透明掩膜在对象上.
shadow:创建偏移固定影子.
wave:波纹效果.
Xray:使对象变的像被x光照射一样.
1.滤镜:alpha
语法:
STYLE="filter:Alpha(Opacity=opacity,FinishOpacity=finishopacity,Style=style,
StartX=startX,StartY=startY,FinishX=finishX,FinishY=finishY)"
说明:
Opacity:起始值,取值为0-100,0为透明,100为原图.
FinishOpacity:目标值.
Style:1或2或3
StartX:任 ?
StartY:任意值
例子:filter:Alpha(Opacity="0",FinishOpacity="40",Style="2")
2.滤镜:blur
语法:
STYLE="filter:Blur(Add=add,Direction=direction,Strength=strength)"
说明:
Add:一般为1,或0.
Direction:角度,0-315度,步长为45度.
Strength:效果增长的数值,一般5即可.
例子:filter:Blur(Add="1",Direction="45",Strength="5")
3.滤镜:chroma
语法:
STYLE="filter:Chroma(Color=color)"
说明:
color:#rrggbb格式,任意.
例子:filter:Chroma(Color="#FFFFFF")
4.滤镜:DropShadow
语法:
STYLE="filter:DropShadow(Color=color,OffX=offX,OffY=offY,Positive=positive)"
说明:
Color:#rrggbb格式,任意.
Offx:X轴偏离值.
Offy:Y轴偏离值.
Positive:1或0.
例子:filter:DropShadow(Color="#6699CC",OffX="5",OffY="5",Positive="1")
5.滤镜:FlipH
语法:
STYLE="filter:FlipH"
例子:filter:FlipH
6.滤镜:FlipV
语法:
STYLE="filter:FlipV"
例子:filter:FlipV
7.滤镜:Glow
语法:
STYLE="filter:Glow(Color=color,Strength=strength)"
说明:
Color:发光颜色.
Strength:强度(0-100)
例子:filter:Glow(Color="#6699CC",Strength="5")
8滤镜:Gray
语法:
STYLE="filter:Gray"
例子:filter:Gray
9.滤镜:Invert
语法:
STYLE="filter:Invert"
例子:filter:Invert
10.滤镜:Mask
语法:
STYLE="filter:Mask(Color=color)"
例子:filter:Mask(Color="#FFFFE0")
11.滤镜:Shadow
语法:
filter:Shadow(Color=color,Direction=direction)
说明:
Color:#rrggbb格式.
Direction:角度,0-315度,步长为45度.
例子:filter:Shadow(Color="#6699CC",Direction="135")
12.滤镜:Wave
语法:
filter:Wave(Add=add,Freq=freq,LightStrength=strength,Phase=phase,Strength=strength)
说明:
Add:一般为1,或0.
Freq:变形值.
LightStrength:变形百分比.
Phase:角度变形百分比.
Strength:变形强度.
例子:filter:wave(Add="0",Phase="4",Freq="5",LightStrength="5",Strength="2")
13.滤镜:Xray
语法:
STYLE="filter:Xray"
例子:filter:Xray
3遇到的问题:
关于ArrayList、Ienumerator?
解决方法:
ArrayList a=new ArrayList();
string s1="aaaaa";
string s2="bbbbb";
string s3="ccccc";
int i1=1;
int i2=2;
int i3=3;
a.Add(s1);
a.Add(s2);
a.Add(i1);
a.Add(i2);
a.Add(i3);
a.Add(s3);
IEnumerator ie=a.GetEnumerator();
while(ie.MoveNext())
{
string s=ie.Current.ToString();
Response.Write(s+Environment.NewLine);
}
(与直接对arraylist对象用下标访问或通过foreach访问有什么区别?)
4遇到的问题:
关于arraylist
解决方法:
一. ArrayList 构造函数
1. public ArrayList();
初始容量是新ArrayList的起始容量。ArrayList 的默认初始容量为16。如果添加到列表中的元素个数达到当前容量,则容量将自动增加一倍。
2. public ArrayList(ICollection);
初始容量是新ArrayList 的起始容量。如果添加到列表中的元素个数达到当前容量,则容量将自动增加一倍。按照由ICollection 的IEnumerator 读取元素的顺序将这些元素复制到ArrayList 中。
3. public ArrayList(int);
初始容量是新ArrayList 的起始容量。ArrayList 的默认初始容量为16。如果指定的初始容量为0,则使用默认的初始容量。如果添加到列表中的元素个数达到当前容量,则容量将自动增加一倍。因此,如果可以估计集合的大小,那么当指定初始容量后,将无需在向ArrayList 中添加元素时执行大量的大小调整操作。
二. ArrayList 成员
1. 常用属性
Capacity:获取或设置ArrayList 可包含的元素数。
Count:获取 ArrayList中实际包含的元素数。
Item:获取或设置指定索引处的元素。在 C# 中,该属性为ArrayList类的索引器。
2.常用方法
Add:将对象添加到ArrayList的结尾处。
Clear:从ArrayList 中移除所有元素。
IndexOf:返回ArrayList 或它的一部分中某个值的第一个匹配项的从零开始的索引。
LastIndexOf:返回ArrayList或它的一部分中某个值的最后一个匹配项的从零开始的索引。
Insert:将元素插入ArrayList的指定索引处。
Remove:从ArrayList中移除特定对象的第一个匹配项。
RemoveAt:移除ArrayList的指定索引处的元素。
TrimToSize:将容量设置为ArrayList中元素的实际数量。
5遇到的问题:
关于动态修改html中的某些内容
解决方法:
例如,改变页面的title
1)
<script language =javascript >
window.document.title =tl;
</script>
.cs中:
string s="123456";
Response.Write("<script language=javascript>var tl='"+ s +"'</script>");
2)
<title><%=s%></title>
.cs中:
public string s="123456";
使用protected修饰也行,但internal修饰则出错,???
3)
<title><%=Method()%></title>
.cs中:
public string Method()
{
return "123456";
}
同二,使用internal修饰也不行???
6遇到的问题:
关于params关键字
解决方法:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
string[] sArray=new string[3];
sArray[0]="aaa";
sArray[1]="bbb";
sArray[2]="ccc";
Method1(sArray);
// Method1("aaa","bbb","ccc"); //error
Method2(sArray);
Method2("aaa","bbb","ccc");
}
private void Method1(string[] s)
{
string temp="";
foreach(string e in s)
{
temp+=e;
}
this.TextBox1.Text =temp;
}
private void Method2(params string[] s)
{
string temp="";
foreach(string e in s)
{
temp+=e;
}
this.TextBox2.Text =temp;
}
7遇到的问题:
关于__doPostBack()方法?
解决方法:
页面一:
提供一个锚点:
<a onclick="javascript:window.open('WebForm2.aspx','_blank')">open webform2</a>
一个文本框,用于显示一些信息:
<asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
一个隐藏的服务器button:
<asp:Button id="Button1" runat="server" Text="Button" Visible="False"></asp:Button>
Button的后台事件为:
private void Button1_Click(object sender, System.EventArgs e)
{
this.TextBox1.Text ="has click...";
}
页面二:
添加一个服务器按钮,添加事件:
private void Button1_Click(object sender, System.EventArgs e)
{
string s="<script language=javascript>";
s+="window.opener.__doPostBack('Button1','');";
s+="</script>";
this.Page.RegisterClientScriptBlock("a",s);
}
此时,在页面二中无法成功地触发页面一中的__doPostBack()事件,是由于在没有某些特定控件的时候,html文件中并不会产生__doPostBack()函数的javascript代码,所以在页面二中点击按钮时会提示“对象不支持此方法”:
<script language="javascript">
<!--
function __doPostBack(eventTarget, eventArgument)
{
var theform;
if (window.navigator.appName.toLowerCase().indexOf("netscape") > -1) {
theform = document.forms["Form1"];
}
else {
theform = document.Form1;
}
theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
theform.__EVENTARGUMENT.value = eventArgument;
theform.submit();
}
// -->
</script>
要使用页面内容中产生以上代码,可以添加一个LinkButton控件(好像只有该控件可以??)
另外的方法是在Page_Load()加上下面方法:
this.Page.GetPostBackEventReference(Button1);
上面方法将触发产生__doPostBack()的javascript代码,msdn中的解释是:
“获取对客户端脚本函数的引用,调用该函数将使用服务器发送回该页”
以上代码可以应用于在子窗口中修改数据,然后刷新父窗口的情况
另外,注意“__doPostBack()”,方法名中是两道下划线,并且区分大小写。
8遇到的问题:
关于.net及sqlserver中的日期类型
解决方法:
例子:Northwind--employees--birthdate
this.TextBox1.Text =dr.GetDateTime(0).ToString();输出:1948-12-8 0:00:00
this.TextBox1.Text =dr[0].ToString();输出:1948-12-8 0:00:00
this.TextBox1.Text=dr.GetDateTime(0).ToShortDateString();输出:1948-12-8
this.TextBox1.Text=dr.GetDateTime(0).ToString("yyyy#mm#dd");输出:1948#00#08
9遇到的问题:
关于脚本的调试
解决方法:
1调整IE选项--高级--取消“禁止脚本调试”
2直接运行你将要调试的aspx页面
3当页面呈现完成时,回到vs.net中,调试--窗口--运行文档,窗口右侧将出现当前IE中的aspx页面的名称,双击它,此时页面的html源文件将显示在vs.net的窗口中,这样就可以在html文件中设置断点。
0遇到的问题:
关于存储过程的调试
解决方法:
在查询分析器中展开左侧的对象浏览器(按F8,或“工具”--“对象浏览器”打开),展开存储过程,选择要调试的存储过程,右键,调试/debug
如果存储过程存在输入参数,则输入测试参数值,即可进行调试界面,F11单步