這是發生在MVC架構的事件
起因是第一次載入Index頁面時OK,但查詢submit後會出現標題的錯誤訊息
下中斷點沒反應
Index
↓
QueryModel
↓
Controller
↓
DataModel
出現錯誤原因
QueryModel沒有實作空的建構子
實作後即可解決此問題
QueryModel(){}
QueryModel(String A){}
2014年4月16日 星期三
2013年12月3日 星期二
2013年11月27日 星期三
Crystal Report 資料底色設定
整行變色-->區段專家-->色彩-->定義需要依照怎樣的條件調整
例如隔行換色
if Remainder(RecordNumber, 2) = 0 then
Color(255,149,149)
else crNoColor
單字換色-->資料欄按右鍵-->格式物件-->字型-->定義需要依照怎樣的條件調整顏色
單欄換底色-->資料欄按右鍵-->醒目提示專家-->定義需要依照怎樣的條件調整顏色
例如隔行換色
if Remainder(RecordNumber, 2) = 0 then
Color(255,149,149)
else crNoColor
單字換色-->資料欄按右鍵-->格式物件-->字型-->定義需要依照怎樣的條件調整顏色
單欄換底色-->資料欄按右鍵-->醒目提示專家-->定義需要依照怎樣的條件調整顏色
2013年11月20日 星期三
我的IIS跟AD合作的一步一個坑
如果你跟我一樣不知道為什麼別人建置順順的東西總是沒人見過的bug一大堆
如果你總是莫名其妙把環境搞崩潰
也許,你可以先參考一下我的崩潰建置之路
說不定可以少崩潰個幾次這樣....
如果你總是莫名其妙把環境搞崩潰
也許,你可以先參考一下我的
說不定可以少崩潰個幾次這樣....
2013年8月16日 星期五
日期格式,完整月日年/日月年
輸出格式為日期
DateTime.Now.ToString("MM/dd/yyyy").ToString(CultureInfo.GetCultureInfo("en-GB"))
"08/16/2013"
DateTime.Now.ToString("MMMM/dd/yyyy", CultureInfo.GetCultureInfo("en-GB"))
"August/16/2013"
DateTime.Now.ToString("MMMM-dd-yyyy", CultureInfo.GetCultureInfo("en-GB"))
"August-16-2013"
DateTime.Now.ToString("MMMM dd yyyy", CultureInfo.GetCultureInfo("en-GB"))
"August 16 2013"...
輸出格式為字串
DateTime.Now.ToString("D", CultureInfo.GetCultureInfo("en-GB"))
"16 August 2013"
不難,但要用的時候很容易臨時想不起來XD
DateTime.Now.ToString("MM/dd/yyyy").ToString(CultureInfo.GetCultureInfo("en-GB"))
"08/16/2013"
DateTime.Now.ToString("MMMM/dd/yyyy", CultureInfo.GetCultureInfo("en-GB"))
"August/16/2013"
DateTime.Now.ToString("MMMM-dd-yyyy", CultureInfo.GetCultureInfo("en-GB"))
"August-16-2013"
DateTime.Now.ToString("MMMM dd yyyy", CultureInfo.GetCultureInfo("en-GB"))
"August 16 2013"...
輸出格式為字串
DateTime.Now.ToString("D", CultureInfo.GetCultureInfo("en-GB"))
"16 August 2013"
不難,但要用的時候很容易臨時想不起來XD
2013年7月4日 星期四
2013年6月26日 星期三
VisualSVN 方案總管圖標顯示不出來
昨天灌了VisualSVN ,那是TortoiseSVN的Visual Studio版本....
基本上作用就是在Visual Studio裡面就能直接更新程式
現在要紀錄的問題是,在Visual Stdio 2010中開啟由TortoiseSVN控管的專案,版本燈號(方案總管視窗的小圖標)無法顯示...
請注意做完下列每一個步驟,最保險的就是保存並重新啟動電腦,但因為一直重開很煩所以..請自行斟酌
灌完VisualSVN,要先調整設定檔
Visual Stdio 2010 → 工具 →選項→ Source Control選用VisualSVN
儲存之後將Visual Stdio 2010整個關掉,重開之後先確認設定有沒有在
如果不見了請參考B方案,還在請走A方案
A方案.
圖標顯示異常,第一個是TortoiseSVN圖標預設就是None
這個請在TortoiseSVN→Settings→Icon Overlays 右邊設定第一排Status cache
請確定是Default或Shell,如果設定好了還是看不到2010裡面的小圖標,請參考第二個可能
第二個有可能是你的電腦有其他圖標顯示的東西在作用
導致VisualSVN 搶不到顯示的優先權,檢查方法是輸入regedit編輯登陸檔
沿著以下路徑看有哪些TortoiseXXX以外的東西存在,TortoiseXXX 1~9要排在最上面
HKEY_LOCAL_MACHINE→SOFTWARE→
Microsoft→Windows→CurrentVersion→Explorer→ShellIconOverlayIdentifiers
B方案
以上設定是基於「從TortoiseSVN下載程式」
如果依照以上設定後方案總管的小圖示沒有出現,或是選項的原始檔控制一直無法調整到SVN,可以嘗試從VisualSVN下載程式,
Visual Stdio 2010 →VisualSVN →Get Solution from Subversion .
.之後操作跟「從TortoiseSVN下載程式」一樣
基本上作用就是在Visual Studio裡面就能直接更新程式
現在要紀錄的問題是,在Visual Stdio 2010中開啟由TortoiseSVN控管的專案,版本燈號(方案總管視窗的小圖標)無法顯示...
請注意做完下列每一個步驟,最保險的就是保存並重新啟動電腦,但因為一直重開很煩所以..請自行斟酌
灌完VisualSVN,要先調整設定檔
Visual Stdio 2010 → 工具 →選項→ Source Control選用VisualSVN
儲存之後將Visual Stdio 2010整個關掉,重開之後先確認設定有沒有在
如果不見了請參考B方案,還在請走A方案
A方案.
圖標顯示異常,第一個是TortoiseSVN圖標預設就是None
這個請在TortoiseSVN→Settings→Icon Overlays 右邊設定第一排Status cache
請確定是Default或Shell,如果設定好了還是看不到2010裡面的小圖標,請參考第二個可能
第二個有可能是你的電腦有其他圖標顯示的東西在作用
導致VisualSVN 搶不到顯示的優先權,檢查方法是輸入regedit編輯登陸檔
沿著以下路徑看有哪些TortoiseXXX以外的東西存在,TortoiseXXX 1~9要排在最上面
HKEY_LOCAL_MACHINE→SOFTWARE→
Microsoft→Windows→CurrentVersion→Explorer→ShellIconOverlayIdentifiers
B方案
以上設定是基於「從TortoiseSVN下載程式」
如果依照以上設定後方案總管的小圖示沒有出現,或是選項的原始檔控制一直無法調整到SVN,可以嘗試從VisualSVN下載程式,
Visual Stdio 2010 →VisualSVN →Get Solution from Subversion .
.之後操作跟「從TortoiseSVN下載程式」一樣
2013年6月25日 星期二
XMind 開啟檔案報錯「 java.lang.OutOfMemoryError: Java heap space」
原版本文3.3.1.xxxxx 開啟檔案會報標題錯誤
但改裝3.2.0就不會了
遇到可以參考一下~
推測原因
但改裝3.2.0就不會了
遇到可以參考一下~
推測原因
- 版本衝突
- 授權衝突(3.3.1.xxx是網路下載的免費版,3.2.0是公司的安裝包)
2013年6月24日 星期一
取消追蹤Blogger網誌
有點麻煩,Google的說明文件沒有教怎麼取消追蹤別人的網站
有的人已經年久失修自己的家了根本留著也是....所以我試了一下~
結果如下~
補充一下,我找到停止追蹤的Google說明了
可是沒有截圖外加那個齒輪是動態移動的(視窗變大他會往右跑)
所以...好吧這篇留著吧XD
所以...好吧這篇留著吧XD
2013年6月21日 星期五
解除SVN (小烏龜) 版本控制
參考網址
首先解除圖標控制,先叫出右鍵菜單 TortoiseSVN →Settings
-----------------------------------------------------------------------------------------------------
首先解除圖標控制,先叫出右鍵菜單 TortoiseSVN →Settings
會叫出一個視窗,從左邊找出Icon Overlays
右邊有一區Status cache,選Null
這是為了讓我們解除SVN繫結後圖標不要異常顯示
其實參考網址中有圖,不過那是大陸網站,很在意的可以看文字版就好
接著在需要解除的那層目錄
比如說 C:\WebSites\WebFunction 我在這個WebFunction 層開始綁定SVN
那就在這裡新增一個reg檔,內容是以下虛線中的文字(請全部貼到記事本上)
-----------------------------------------------------------------------------------------------------
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]
@="删除该目录下面.svn文件"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]
@="cmd.exe /c \"TITLE Removing SVN Folders in %1 && COLOR 9A && FOR /r \"%1\" %%f IN (.svn) DO RD /s /q \"%%f\" \""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]
@="删除该目录下面.svn文件"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]
@="cmd.exe /c \"TITLE Removing SVN Folders in %1 && COLOR 9A && FOR /r \"%1\" %%f IN (.svn) DO RD /s /q \"%%f\" \""
接著請隨便取一個名字.reg,用unicode的方式儲存,存成所有檔案
然後執行這個reg...這個時候還沒刪阿!!!!!只剩一步!!!一步!!!
最後我們在WebFunction 這個資料夾上點右鍵會發現多了一個選項
「删除该目录下面.svn文件」按下去之後才會真正解除和SVN的繫結
請注意這個檔案執行的時候會報一些警告訊息,主要是因為會對電腦作一些看起來很恐怖的異動
但為了要解開SVN...這樣刪除是我試過最乾淨的
2013年5月28日 星期二
HyperLinkField 針對特定情況不啟用超連結
protected void gvData_DataBound(object sender, EventArgs e)
{
for (int i = 0; i < gvData.Rows.Count; i++)
{
//HyperLinkField 所在column
HyperLink h1 = (HyperLink)gvData.Rows[i].Cells[0].Controls[0];
h1.Enabled = false;
}
}
2013年3月6日 星期三
最後一行不見了
話說我今天在組資料,發現Gridview的TemplateField最後一行老是不見了
那是一個超連結,我需要它在空的時候自動顯示某個網址
它不見了我很困擾...
找半天是我自己給掰,在gvData_RowDataBound的事件多了一個判斷式
e.Row.RowType == DataControlRowType.DataRow
拿掉OK了
那是一個超連結,我需要它在空的時候自動顯示某個網址
它不見了我很困擾...
找半天是我自己給掰,在gvData_RowDataBound的事件多了一個判斷式
e.Row.RowType == DataControlRowType.DataRow
拿掉OK了
當 IDENTITY_INSERT 設為 OFF 時,無法將外顯值插入資料表** 的識別欄位中。
通常發生在新增時,新增資料時某一欄位會自動填入..不需輸入而輸入就會這樣
範例長這樣
假設xxx是自動累加的欄位,以下這個語法就會報錯
INSERT INTO A(zzz,xxx,ccc,vvv)
VALUES('a',3,5,'dd')
改成這樣即可
INSERT INTO A(zzz,ccc,vvv)
VALUES('a',5,'dd')
範例長這樣
假設xxx是自動累加的欄位,以下這個語法就會報錯
INSERT INTO A(zzz,xxx,ccc,vvv)
VALUES('a',3,5,'dd')
改成這樣即可
INSERT INTO A(zzz,ccc,vvv)
VALUES('a',5,'dd')
2013年1月14日 星期一
2012年12月12日 星期三
2012年11月28日 星期三
2012年11月20日 星期二
SVN 重新登入
XP環境
C:\Documents and Settings\[登入電腦的帳號]\Application Data\Subversion\auth\
Win 7環境
C:\Users\[登入電腦的帳號]\AppData\Roaming\Subversion\auth\
底下有一個亂碼文件,刪除後重新要求更新或遷入資料,SVN就會要求重新輸入帳號密碼
2012年10月11日 星期四
RequiredFieldValidator 失效
參考網址
上次有寫過正則表達式,可是有時候他會秀逗,沒關係,我們從源頭斷絕數字跟小數點以外的輸入值...(斬草除根)
<asp:TextBox ID="TextBox" runat="server" OnKeyPress="if(((event.keyCode>=48)&&( event.keyCode <=57))||(event.keyCode==46)) {event.returnValue=true;} else{event.returnValue=false;}" MaxLength="15"> </asp:TextBox>
注意:如果不允許輸入小數點去掉“event.keyCode==46”這種情況
好用喔(笑
上次有寫過正則表達式,可是有時候他會秀逗,沒關係,我們從源頭斷絕數字跟小數點以外的輸入值...(斬草除根)
<asp:TextBox ID="TextBox" runat="server" OnKeyPress="if(((event.keyCode>=48)&&( event.keyCode <=57))||(event.keyCode==46)) {event.returnValue=true;} else{event.returnValue=false;}" MaxLength="15"> </asp:TextBox>
注意:如果不允許輸入小數點去掉“event.keyCode==46”這種情況
好用喔(笑
2012年9月26日 星期三
匯出Excel中文出現亂碼
省前略後~最主要就是~加上紅色部分~
Response.AddHeader("content-disposition", "attachment;filename=" + DateTime.Now.Ticks + ".xls");
Response.Charset = "";
Response.ContentType = "application/vnd.ms-excel";
Response.Write("<meta http-equiv=Content-Type content=text/html;charset=utf-8>");
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
for (int i = 0; i < gvExcel.Rows.Count; i++)
{
gvExcel.Rows[i].Attributes.Add("class", "textmode");
}
無法將型別 'System.Web.UI.LiteralControl' 的物件轉換為型別 'System.Web.UI.WebControls.TextBox'。
我還是喜歡全部功能都在同一頁看起來多清爽阿~
(做起來多討厭阿哈哈)
(不過都做在一頁明明花了很多功夫看起來就沒花什麼時間真是太討厭了)
但是都做在同一頁取值的辦法就會因為是BoundField或是TemplateField會有不同
假設前台是BoundField,要取的值在第6個Cells中,後台要這樣寫
後台值 = new Guid(((TextBox)gvData.Rows[e.RowIndex].Cells[6].Controls[0]).Text);
假設前台是TemplateField,要取的值在第5個tbx1中,後台要這樣寫
後台值 = ((TextBox)gvData.Rows[e.RowIndex].Cells[5].FindControl("tbx1")).Text;
如果會報標題那種錯,可能是哪裡沒調整好,或是你本來就比較偏好特定寫法~
(像我比較喜歡TemplateField的寫法,沒有特別規定我都會用TemplateField的寫法)
但是都做在同一頁取值的辦法就會因為是BoundField或是TemplateField會有不同
假設前台是BoundField,要取的值在第6個Cells中,後台要這樣寫
後台值 = new Guid(((TextBox)gvData.Rows[e.RowIndex].Cells[6].Controls[0]).Text);
假設前台是TemplateField,要取的值在第5個tbx1中,後台要這樣寫
後台值 = ((TextBox)gvData.Rows[e.RowIndex].Cells[5].FindControl("tbx1")).Text;
如果會報標題那種錯,可能是哪裡沒調整好,或是你本來就比較偏好特定寫法~
(像我比較喜歡TemplateField的寫法,沒有特別規定我都會用TemplateField的寫法)
訂閱:
文章 (Atom)