2010年6月29日 星期二

ASP.NET 動態MENU

最近發現了剛剛那文章的RUNATSERVER功能後
就發現UL的MENU就可以設定為動態的了
這樣做可以依照使用者權限不同
登入的MENU也就不同

前端的頁面

<ul id="menuulmaster">
<li><a href="main.aspx">主頁</a></li>
<li><a href="">瀏覽</a></li>
<li><a href="">修改</a></li>
<li runat="server" id="ulliset"><a href="">設定</a></li>
<li><a href="">登出</a></li>
</ul>

後端的頁面

if (Convert.ToInt32(Session["Level"]) == 1) //如果權限不足
{
ulliset.Visible = false; //關閉設定頁面
}


這樣就可以達到不顯示的功能
另外記得在頁面寫個判斷權限的設定
不然被知道網址後 還是有可能被直接用網址登入喔 XDDD

ASP.NET RunAt Server

原來元件給他runat="server"
後再給他 id="test"

就可以直接在.CS頁面編輯它了
test.Visible = false;
嗯....

2010年6月24日 星期四

SQL Profiler 分析(1)

上網查了一下資料
發現了這個TSQL的語法可以查Profiler的效能
所以貼上來


SELECT * into #Temp
FROM ::fn_trace_gettable('D:\CGW\SQL Profiler\testGameDB81_100603.trc', default) --檔案路徑及名稱

-- 追蹤所得的資料本來就在資料表內,直接透過T-SQL 分析
SELECT SUBSTRING(TextData, 1,330) AS '名稱',
COUNT(*) '數量',
AVG(Duration) AS '平均執行時間(ms)',
AVG(CPU) AS '平均CPU 時間(ms)',
AVG(Reads) AS '平均閱讀次數',
AVG(Writes) AS '平均寫入次數'
FROM #Temp
WHERE EventClass=12 -- 12 代表SQL:BatchCompleted 事件
GROUP BY SUBSTRING(TextData, 1,330)
ORDER BY SUM(Duration) DESC


出處:http://blog.xuite.net/tim0718/note/21899219

2010年6月16日 星期三

C# String 字元

驚!!!!
原來 C# string 可以直接讀字元
抱歉 剛剛才發現 XDDD


string words = "Hello World!";
textBox1.Text = words[0] ;


words[0] <==這可以直接讀出H字元出來!!! 現在才知道 囧

C# Ping

ping 這東西很常用
所以 C#當然也有支援囉
看CODE吧


try
{
Ping ping = new Ping();
PingReply pingreply = ping.Send("127.0.0.1");//IP Address
MessageBox.Show(pingreply.Status.ToString());
}
catch (Exception err)
{
MessageBox.Show(err.Message);
}

C# 抓Mac Address

在前人的CODE內發現的
是引用Windows內建的dll去抓Mac Address
還不錯
就貼上來


[DllImport("iphlpapi.dll", ExactSpelling = true)]
public static extern int SendARP(int DestIP, int SrcIP, byte[] MacAddr, ref uint PhyAddrLen);
static object[] GetRemoteMAC(IPAddress LocalIP, IPAddress RemoteIP) //抓Mac
{
byte[] MacAddr = new byte[6];
uint PhyAddrLen = (uint)MacAddr.Length;
string temp = "";
//LiveAndMAC[0]是否有回應 LiveAndMAC[1] MAC
object[] LiveAndMAC = new object[2];

int res = SendARP((int)RemoteIP.Address, (int)LocalIP.Address, MacAddr, ref PhyAddrLen);
//如果有回達 res就是0
if (res == 0)
{
for (int i = 0; i < PhyAddrLen; i++)
{
//轉成看得懂的MAC型態
temp += MacAddr[i].ToString("x2") + "-";
}
//減掉最後一個"-" 並轉成大寫 如果temp長度為0 就代表有回應但沒有MAC 以沒有回應處理
if (temp.Length != 0)
{
temp = (temp.Remove(temp.Length - 1, 1)).ToUpper();
LiveAndMAC[0] = 1;
LiveAndMAC[1] = temp;
}
else
{
LiveAndMAC[0] = 0;
LiveAndMAC[1] = "";
}

return LiveAndMAC;
}
else
{
LiveAndMAC[0] = 0;
LiveAndMAC[1] = "";

return LiveAndMAC;
}
}


PS...補充一下
IPAddress LocalIP = IPAddress.Parse("0.0.0.0"); //ip宣告的方式

2010年6月15日 星期二

VS.NET [神技]快速排版

今天亂找資料時候
忽然發現這招神技
快速排版
當你的CODE很亂時候
沒有排好
沒有對好
整個如戰場一樣亂的不行

來來來
教你神技
Ctrl+A
Ctrl+K
Ctrl+D
這三個按下去
您可愛的CODE整整齊齊
乾乾淨淨
哇靠 太神了!!!!