2011年12月27日 星期二

VS.NET 在debug 可以更改Code

因預設值會將CODE LOCK住
導致無法做更改
要先停用DEBUG才可更改

只要到[工具] > [選項] > [偵錯] > [編輯後繼續]
將這關掉就行了!!

Asp.net Page_Load小概念

這次遇到一個很簡單的問題
但一直沒想到是這問題
XDDD

就是用Page_Load時候
會有datasource還沒讀進來的問題
所以導致一些資料都還沒出現XDDD

害我以為遇到阿飄 XDDD

2011年11月16日 星期三

Asp.net WebUserControl

忽然發現自己之前沒寫這個
補一下

在要加入 WebUserControl的網頁
最前方要加入

<%@ Register src="WebUserControl1.ascx" tagname="WebUserControl1" tagprefix="uc1" %>


然後勒
在互相傳值方面
在WebUserControl 部分需加入public做溝通橋梁

public string text
{
get { return TextBox1.Text; }
set { TextBox1.Text = (string)value; }
}

接著在
網頁程式內
呼叫方法為

WebUserControl11.text = "test"; //text是對應上方的宣告

2011年11月14日 星期一

C# Web service

最近研究一下 web service
因為 新增一個web service
VS已經幫你做好範例hello world
所以
很簡單的
照弄一個就能跑了
只是public 上面要多個 [WebMethod]
才會被讀取到

然後前端要讀取
要先將web service加入Service References中
給予web service的URL 給名稱就行了
宣告只用

ServiceReference1.Service1SoapClient newServiceReference = new ServiceReference1.Service1SoapClient();


另外提一下
FW4.0沒有web service可以選
要改成3.5才有
4.0已經被WCF吃掉了 XD

2011年10月6日 星期四

Server 2008 某網段無法連線

在某次下
忽然發現我的某個網段連不到
也ping不到!!!

重開機
嗯 正常了...
欸!!! 又掛了!!!

在開機過程中 他掛了!!!
後來發現!!!
原來他啟動了某個service
Routing and Remote Access
導致網段掛了!!!
查了一下
原本他是關閉的狀態
後來因為某原因
曾經裝了
Network Policy and Access Services後
他將Routing and Remote Access 這個Service啟動
但是我移除了Network Policy and Access Services後
他卻沒有將Routing and Remote Access 關閉!!!!


所以將他關閉就好囉!!

2011年10月5日 星期三

C# datatable 插入其他的datarow

當如果宣告
Datarow時候沒有宣告成屬於datatable的Datarow時候
想要將這個Datarow插入是不行的
會跟你說
This row already belongs to another table.
所以勒...
插入時候必須用ImportRow


Datatable.ImportRow(NewDatarow);

C# datatable 複製格式

一開始以為...
datatable格式可以用這招複製

DataTable NewDatatable = OldDatatable;
NewDatatable.Rows.Clear();


結果
當我第二步清除NewDatatable時候 舊的也會被砍掉!!!!!

後來才知道要用這方式複製格式...

DataTable NewDatatable = OldDatatable.Clone();


XD

2011年9月19日 星期一

消失的顯示桌面快捷鍵

當如果不小心誤砍顯示桌面快捷鍵
就要去找一大堆有的沒的囉哩吧唆的地方弄一大堆東西
所以
講一個簡單的方法

C:\Documents and Settings\administrator\Application Data\Microsoft\Internet Explorer\Quick Launch
這路徑貼上文件夾上
就會找到顯示桌面的那個符號!!!!
拖曳到快捷鍵內
大功告成...

2011年8月30日 星期二

Asp.net Master按鈕在子層執行

其實其他功能也都可以
只是Button是最常被用到 所以拿出來講

應該有人會跟我一樣
想要把Button擺Master內
但是希望某幾個子層會發動做些事情吧

所以
提供下列這方法

在子網頁的.aspx 加上

<%@ MasterType VirtualPath="~/MainMaster.master"%>


在Master.cs 加上

public delegate void MasterPageEventHandler(object sender, System.EventArgs e);
public partial class MainMaster : System.Web.UI.MasterPage
{
public event MasterPageEventHandler MasterButtonMain;
protected void LinkButtonMain_Click(object sender, EventArgs e)
{
if (MasterButtonMain != null)
MasterButtonMain(sender, e);
}
}


在子網頁.CS 加上

protected void Page_Load(object sender, EventArgs e)
{
Master.MasterButtonMain += new MasterPageEventHandler(MasterButtonMain);
}
void MasterButtonMain(object sender, EventArgs e)
{
//你所需的程式
}


蠻特別的玩法 XDD
大家可以玩玩看

2011年8月15日 星期一

Bat 將靜態IP => DHCP

連線名稱要自己改自己要設定那個

netsh interface ip set dns "Local Area Connection" dhcp
netsh interface ip set wins "Local Area Connection" dhcp
netsh interface ip set address "Local Area Connection" dhcp
ipconfig /renew

2011年7月17日 星期日

Win7 SP1 更新錯誤 C0000034

當更新SP1 如果發生C0000034錯誤時

請用WIN7開機片開啟
進入CMD裡
執行C:\\Windows\winsxs\pending.xml
(記得備份)
接著將
< checkpoint/ >
< deletefile path=........./ >
< movefile source=............../ >
這三個標籤砍掉
儲存
重開機
即可開啟

2011年6月15日 星期三

Win7 Skype開啟當掉

最近Win7又在惡搞 導致Skype當機
結果看了一下
C:\Program Files (x86)\Skype\Phone
下的Skype.exe >右鍵>內容>相容性
把相容性 取消 與 用系統管理員執行 打勾
這樣就可以正常使用了

Bat 空格

當下的路徑可能有空格位置
就可以用 " " 代表空格
就是需用雙引號包住 才行

2011年6月2日 星期四

Xp 清除 連線數10人滿了的問題

有時候 用XP當PRINT SERVER時候
會有連線數滿了問題
就有人永遠連不上印表機

CMD下指令


net config Server /autodisconnect:1


1代表1分鐘

2011年5月26日 星期四

Win7 使用者設定檔服務無法登入 無法載入使用者設定檔

1. 按一下 [開始],用滑鼠右鍵按一下 [電腦],然後按一下 [內容]。
2. 按一下 [變更設定]。
3. 在 [系統內容] 對話方塊中,按一下 [進階] 索引標籤。
4. 在 [使用者設定檔] 下,按一下 [設定]。
5. 在 [使用者設定檔] 對話方塊中,選擇您要刪除的設定檔,按一下 [刪除],再按一下 [確定]。

執行 regedit

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
移除不能開啟的使用者編碼
登出在進來就好了!

2011年5月25日 星期三

主機板 單通道 雙顆粒

遙望N年前
有陣子 記憶體要插上去前還要看顆粒+是否為單面
後來版子幾乎都不用了
都可以相容所有規格
除非跑雙通道顆粒不同衝突

話說....
昨天有幸發現一塊 G牌的主機板
他竟然雙面顆粒不能跑單通道!!!!!!!!!!!!!!!
打電話去G公司問過後
查了手冊後......
證實真的這塊版子設計就是這樣!!!!!!

話說這不是幾百年前才有這種狀況嗎 = =+

客服人員跟我說
他們支援16G DDR3
但是 要插單面顆粒才能跑...
重點是 現在4G DDR3 RAM 根本沒有單面顆粒
一 一"

記得以後買版子要多檢查一下
是否版子有沒有支援雙顆粒的單通道插法!!!!
不然.....只能用囧來形容了..

2011年5月10日 星期二

Win7 的管理者權限

機車的Win7 在前幾天遇到一個狀況
使用者是管理者權限
但是 執行A程式都會執行不完全 (某些功能會消失)
我就改用administrator帳號登入去試
正常
以為是設定檔問題
砍掉設定檔 還是一樣
結果......
就是要用右鍵 用 管理者權限執行
就可以了

雖然WIN7 這樣是安全點
但 這問題真是有夠機車的 = =+

linq join 多個條件

在linq 要join 多個條件
可以用

from a in Table1
join b in Table2 on new { a.a1,a.a2} equals new { b.a1,b.a2}

這是一般的狀況下

但是遇到
LEFT JOIN
就會發生錯誤
LEFT JOIN 就要用另一種方法才能解決

from a in Table1
join b in Table2 on a.a1 equals b.a1 into PutA
from ax in PutA.Where(a => a.a2 == b.a2).DefaultIfEmpty()

他必須將另一個條件在FROM時候下WHERE來執行
這樣就可以在LEFT JOIN 狀況下 下多條件的JOIN方法

2011年4月11日 星期一

IIS 重新設定


net stop w3svc
cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
aspnet_regiis.exe -ua
aspnet_regiis.exe -i
net start w3svc

SQL 更改SQL SERVER 名稱

更新SQL名稱

exec sp_dropserver '舊的SQL名稱'
go

exec sp_addserver '新的SQL名稱', local
go

2011年3月27日 星期日

2011年3月24日 星期四

C# Process Bat Show 訊息框

一般來說
如果要跑Bat
看到很多網頁都是把訊息框關閉
把值傳入Form內顯示出來
但是勒
我發現如果回傳的字串太多顯示字元太多
不知道為啥
他就當掉了 囧
所以勒
我就把顯示框顯示+關閉回傳訊息
讓他直接彈跳出一個CMD顯示視窗出來顯示訊息
結果意外的順暢啊!!!!!

如果沒有要抓Bat內的顯示字串
單獨只是要跑而已
其實可以不要關閉顯示視窗


//ProcessRunInfo.RedirectStandardError = true;
//ProcessRunInfo.RedirectStandardInput = true;
//ProcessRunInfo.RedirectStandardOutput = true;
ProcessRunInfo.CreateNoWindow = false;
//ReturnString = ProcessRun.StandardOutput.ReadToEnd(); //將結果SHOW出

把大多數回傳的部份都註解(關掉)
建立一個視窗出來
不回傳結果
這樣就可以了

Bat 排程 schtasks

原本想要用C#寫排程
但是因為一堆問題
所以改用Bat 跑
查了一下 開關排程指令
就是這樣.....

PS...XP不支援開關指令 = =+
/tn 排程名稱 /rp 使用者密碼

call schtasks /change /disable /tn OpenTxt /rp %1
call schtasks /change /enable /tn OpenTxt /rp %1

2011年3月3日 星期四

C# Process 中途輸入值

StandardInput 可以在執行後 如需輸入值
可以用這個將值帶入


ProcessRun.Start();
ProcessRun.StandardInput.Write(WriteLine);
ProcessRun.WaitForExit();

2011年2月21日 星期一

Bat 一些簡單的指令

REM 註解
call 呼叫
set userinp=%1 設定變數
if "%userinp%"=="yes" goto yes IF與到哪
:Yes 設定書簽
Echo 顯示字
> "%~dp0\abc.txt" 存放到abc.txt資料夾內

2011年2月20日 星期日

C# 多執行緒 引用元件

常常用到多執行緒時候
發現你的元件不能跑
試看看這樣的方式


if (InvokeRequired)
{
this.Invoke(new MethodInvoker(delegate
{
textBox1.Text += "Hi";
textBox2.Text += "OK!!";
}));
return;
}

2011年2月9日 星期三

Bat 路徑參數

傳入參數:%1,%2
bat所在路徑:%~dp0
bat所在路徑短路徑:%~sdp0
bat所在槽:%~d0
目前路徑:%cd%

2011年2月1日 星期二

ASP.NET Textbox password

在使用textbox設定為password後
會發現給予初始值會失效
也就是他的 .text 趴在那邊了
所以只好用另種方式給他初始值


TextBoxPw.Attributes.Add("value", "********");

2011年1月27日 星期四

C# String.join 字串合併

記錄一下
可以用來串字串
就不用判斷 是不是第一個 還是最後一個的功能
直接用就好了
不過他要用Array

string.Join(",", StringValue.ToArray())

2011年1月25日 星期二

Linq Xml 簡單搜尋

Xml搜尋
最主要就是 Elements 是欄位名稱 ex: <Element>
Attributes 是欄位設定值  ex: <Element Attribute='123'>
Value 是裡面的值 ex: <Element>Value</Element>

XElement XmlString;
var xmlLinq = (from a in XmlString.Elements("SetElement").Attributes("id")
select a.Value).ToList();

Linq Left join

原來自己弄那麼久的left join
結果都沒寫上來
記錄一下 XD


from a in Table1
join b in Table2 on a.id equals b.id into b2
from b22 in b2.DefaultIfEmpty()
select b22

C# Copy DataGridView 資料

懶的自己全選複製
所以寫成一個Button可以點


dataGridView1.SelectAll();
if (this.dataGridView1
.GetCellCount(DataGridViewElementStates.Selected) > 0)
{
try
{
// Add the selection to the clipboard.
Clipboard.SetDataObject(
this.dataGridView1.GetClipboardContent());
}
catch (System.Runtime.InteropServices.ExternalException)
{
}
}


參考網站

2011年1月21日 星期五

.NET 縮排 方便閱讀工具

程式上多上

#region
#endregion

沒任何意義 可以讓你縮排起來
方便你閱讀程式

2011年1月20日 星期四

C# 執行程式 Or Cmd指令

用C#跑process來執行程式或是下 Cmd指令


System.Diagnostics.Process ProcessRun = new Process();
ProcessRun.StartInfo.FileName = "cmd.exe";
//選擇執行程式OR CMD 如果要下程式則可打上路徑+程式名
ProcessRun.StartInfo.UseShellExecute = false;
ProcessRun.StartInfo.RedirectStandardInput = true;
ProcessRun.StartInfo.RedirectStandardOutput = true;
ProcessRun.StartInfo.CreateNoWindow = true;

ProcessRun.Start();
//ProcessRun.StandardInput.WriteLine("dir"); //下CMD指令
ProcessRun.StandardInput.WriteLine("exit"); //下CMD指令

ProcessRun.WaitForExit();
this.textBox1.Text = textBox1.Text + ProcessRun.StandardOutput.ReadToEnd(); //將結果SHOW出
ProcessRun.Close();

2011年1月16日 星期日

Windows 網址被綁架

此路徑檔案
C:\WINDOWS\system32\drivers\etc\hosts
內容可以設定
網址導向其他網址

2011年1月10日 星期一

Jquery 彈跳視窗後 按下確定 執行新程式

我是用在
按下確定要整頁重新整理


string script = "";
Page.ClientScript.RegisterStartupScript(typeof(Page), string.Empty, script);


他就會跑去做LinkButtonRePage的程式

Jquery 超級無言的bug unbind click

這幾天遇到一個超級無言bug
講解一下我的架構
我是用GridView點擊Row或拖曳Row後
會將那一Row的詳細資料帶出來
我是用JS抓關鍵值後點擊一個Button來執行後端帶出值

之前用的很開心
但是
因為發現GridView更新後
就掛了
所以就將JS的CODE重新帶入
發現....
我拖曳部分正常
點擊部分!!!!
產生了越點執行越多次狀況
點第一次執行一次
點第二次執行兩次
點第三次執行四次....以此類推

因為拖曳跟點擊都是觸發同個BUTTON
只是差別在抓關鍵值方法不同而已
所以
怎會有這種差異性!!!!!
經過多方研究+Google到爛掉的時候
同事弄了一個方法
在執行前先加入!!!

$('#GVRowSelect').unbind("click");

靠!!!!!!!
搞定了!!!!!!!!
在他點擊前先將click給unbind掉
在執行
這樣就不會越做越多次的窘境
超無言的啦!!!!!

光這個鳥BUG抓了好幾天
暈!!!!!!!!!!!

2011年1月9日 星期日

JavaScript 呼叫後端 使用linkbutton

常常前端要呼叫後端
後端呼叫前端
所以
前端呼叫後端就用

linkbutton

__doPostBack('linkbutton', '');