.NET新手系列(五)
好像有一個月左右沒來了,繼續吧:
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 οnclick="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單步
轉載于:https://www.cnblogs.com/morvenhuang/archive/2005/12/04/290279.html
總結
以上是生活随笔為你收集整理的.NET新手系列(五)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Dreamweaver 8和visual
- 下一篇: ASP.NET 2.0 解决了 Code