這幾天在寫個程式...正想說沒問題要完結了
然後就馬上找到一個問題(所以以後寫程式絕對不能這樣想)
問題大概是這樣:
一個Gridview在編輯模式下,原本的 Label 變成 Textbox 就會有亂碼
然後你把這串亂碼丟到孤狗上,他竟然又變回原本你想看到的字
像是...谢金燕,你把前面那串丟去估狗,發現他竟然是簡體字的'謝"...
這還真的嚇到我了,因為&#的特殊符號會被.net抓取為非法字元,然後就會跳到 Exception...
但其實上網找一下,其實解法也不難,就是在原有的 Gridview 上,
再新增一個 TemplateField ,記得要 Bind 在原本的欄位上,
在 Label 部分要修改成以下形式
Text = '<%# HttpUtility.HtmlDecode(Eval("你的欄位").ToString()) %>'>
而在 TextBox 部分就不用再另外去修改,這樣就可以了
沒錯~_~ 這就是 Html 編碼的問題
後來發現另外一種解法,只要在gridview設定上選擇好就可以啦~
2013年12月12日 星期四
2013年11月11日 星期一
一個很會用電腦的人
這個人就是我媽。
事情大概是這樣的,大概N年以前(大概是N=5),我媽開始用電腦,
之後陸陸續續去了各種電腦軟體的學習班,如:
Microsoft Office,PhotoShop,PhotoImpact,威力導演...等
但學了許久,只要課程結束後,學到的東西也差不多都還給老師了。
結果最基礎的:打字,搜尋引擎,簡報,甚至是電腦內建工具...
沒有一個是覺得可以使用的!!!! 怎麼說呢?
我常常看到我媽先把旅記用筆寫成草稿,然後再拿到房間,花上一個禮拜時間打到Blog,
通常一般人都會覺得 "哇...一個禮拜,這一定篇幅很大吧!"
很不幸的其實他只有至多兩千個字,就連一封只要兩句話的 email 他都可以打一整天,
兩句話打電話就好了阿!打一整天這個話題的時效性都已經過期不知道多久了!!
而我媽總是說: "你不懂啦!"
老實說我也很不想懂,反正很明顯就是不學打字的後果。
但這情況到最近嚴重影響到我的生活,原因是我媽堅持要在我房間用電腦,
所以他的電腦就這樣放在我房間發熱,發出電磁波(好啦我覺得這比較誇張),
問題點就來了,最近幾個事情包含
1. 福山植物園預約
2. 他的該死的月曆作業
就把我搞到快死,因為他根本沒學會 Excel !!
當福山植物園預約團員名單要用 Excel 打的時候,他整個人就愣在那邊,
更不用說他一大早6點半就打開我房間的燈,在桌子前不斷大叫 "完蛋了!"
試圖把我和我弟吵醒,希望我們兩個之中有一個能幫他打完資料,
不過他最後成功了,因為他實在是太吵,比過年一大清早放的鞭炮還吵,
我最後只好早餐不吃,臉不洗牙沒刷,幫他把20個團員的資料 key 上然後上傳,
之後我還交代他回家記得開螢幕把入場資料抄下,不過回到家後,他還是按了開機鍵,
這就不屬於電腦打字技能低落的問題了 。
第二件事情則是月曆作業,我不太清楚他是怎麼安排進度的,
不過竟然連續一個月每天晚上都在做 (通常是從吃完晚飯到睡覺),
然後還做不完要熬夜,雖然我覺得他自己的某些堅持要負責任,
(就是一定要挑自己拍的照片然後美工到全部同學都滿意)
但他學習的問題更是佔了大部分責任,還記得有次我看他做一個圖片的去背,
從我吃完飯到玩完電腦要睡覺了,他還在那個畫面,而我總是聽到旁邊的聲音
"完蛋了!" "上課都有教怎麼都不一樣?" "要交作業了來不及了!"
結果他自己在那邊去背去了快2個小時,天啊!
我把圖片印出來,用剪刀剪下去,再貼到別張圖上也不用20分鐘,
小姐你要不要改做手工月曆啊...至少還比較有質感。
然後他就不斷的在我睡覺時發出:"完蛋了!!"和"怎麼辦??"來代替安眠曲,
而且他說他用電腦的時候 絕。對。不。能。關。燈
那個月我沒有一天是睡得好的,而且我超級想搬去外面睡。
我想我最近會跟我爸極力爭取把我媽的電腦搬回他們房間去,
可惜我爸應該不會答應,因為他比我還早睡,
假如我媽每天晚上都在他旁邊說 "完蛋了",
他百分之一百不用半個月就會把電腦從二樓丟下去。
還是多賺點錢搬去外面住咖實在... =v="
事情大概是這樣的,大概N年以前(大概是N=5),我媽開始用電腦,
之後陸陸續續去了各種電腦軟體的學習班,如:
Microsoft Office,PhotoShop,PhotoImpact,威力導演...等
但學了許久,只要課程結束後,學到的東西也差不多都還給老師了。
結果最基礎的:打字,搜尋引擎,簡報,甚至是電腦內建工具...
沒有一個是覺得可以使用的!!!! 怎麼說呢?
我常常看到我媽先把旅記用筆寫成草稿,然後再拿到房間,花上一個禮拜時間打到Blog,
通常一般人都會覺得 "哇...一個禮拜,這一定篇幅很大吧!"
很不幸的其實他只有至多兩千個字,就連一封只要兩句話的 email 他都可以打一整天,
兩句話打電話就好了阿!打一整天這個話題的時效性都已經過期不知道多久了!!
而我媽總是說: "你不懂啦!"
老實說我也很不想懂,反正很明顯就是不學打字的後果。
但這情況到最近嚴重影響到我的生活,原因是我媽堅持要在我房間用電腦,
所以他的電腦就這樣放在我房間發熱,發出電磁波(好啦我覺得這比較誇張),
問題點就來了,最近幾個事情包含
1. 福山植物園預約
2. 他的該死的月曆作業
就把我搞到快死,因為他根本沒學會 Excel !!
當福山植物園預約團員名單要用 Excel 打的時候,他整個人就愣在那邊,
更不用說他一大早6點半就打開我房間的燈,在桌子前不斷大叫 "完蛋了!"
試圖把我和我弟吵醒,希望我們兩個之中有一個能幫他打完資料,
不過他最後成功了,因為他實在是太吵,比過年一大清早放的鞭炮還吵,
我最後只好早餐不吃,臉不洗牙沒刷,幫他把20個團員的資料 key 上然後上傳,
之後我還交代他回家記得開螢幕把入場資料抄下,不過回到家後,他還是按了開機鍵,
這就不屬於電腦打字技能低落的問題了 。
第二件事情則是月曆作業,我不太清楚他是怎麼安排進度的,
不過竟然連續一個月每天晚上都在做 (通常是從吃完晚飯到睡覺),
然後還做不完要熬夜,雖然我覺得他自己的某些堅持要負責任,
(就是一定要挑自己拍的照片然後美工到全部同學都滿意)
但他學習的問題更是佔了大部分責任,還記得有次我看他做一個圖片的去背,
從我吃完飯到玩完電腦要睡覺了,他還在那個畫面,而我總是聽到旁邊的聲音
"完蛋了!" "上課都有教怎麼都不一樣?" "要交作業了來不及了!"
結果他自己在那邊去背去了快2個小時,天啊!
我把圖片印出來,用剪刀剪下去,再貼到別張圖上也不用20分鐘,
小姐你要不要改做手工月曆啊...至少還比較有質感。
然後他就不斷的在我睡覺時發出:"完蛋了!!"和"怎麼辦??"來代替安眠曲,
而且他說他用電腦的時候 絕。對。不。能。關。燈
那個月我沒有一天是睡得好的,而且我超級想搬去外面睡。
我想我最近會跟我爸極力爭取把我媽的電腦搬回他們房間去,
可惜我爸應該不會答應,因為他比我還早睡,
假如我媽每天晚上都在他旁邊說 "完蛋了",
他百分之一百不用半個月就會把電腦從二樓丟下去。
還是多賺點錢搬去外面住咖實在... =v="
2013年11月5日 星期二
新綽號
32KB
原因是前幾天寫了一個測試程式,
依照某ID底下擁有的代號去 Informix 資料庫查詢。
很不巧的,我測試的ID底下有將近1000多筆代號,
於是查詢的 Command 就變成了 Select ... from .. where
ID="1" or ID="2" or ... or ID="1000"
然後 Informix 接到後就當機了。
P.S. 這台 Informix 是全公司800多人都在用的資料庫
當機原因是資料庫收到約 32KB 的指令。
這幾天除了天天開會被訓話,約談,還差點多了一堆工作。
想說我當初還打電話問管資料庫的同事,
問說"你確定 Command 太長不會出問題??"
沒想到他竟然給我回 "安啦!"
現在回想起來還真是傻眼= =
看來短時間是無法擺脫這陰霾了。
原因是前幾天寫了一個測試程式,
依照某ID底下擁有的代號去 Informix 資料庫查詢。
很不巧的,我測試的ID底下有將近1000多筆代號,
於是查詢的 Command 就變成了 Select ... from .. where
ID="1" or ID="2" or ... or ID="1000"
然後 Informix 接到後就當機了。
P.S. 這台 Informix 是全公司800多人都在用的資料庫
當機原因是資料庫收到約 32KB 的指令。
這幾天除了天天開會被訓話,約談,還差點多了一堆工作。
想說我當初還打電話問管資料庫的同事,
問說"你確定 Command 太長不會出問題??"
沒想到他竟然給我回 "安啦!"
現在回想起來還真是傻眼= =
看來短時間是無法擺脫這陰霾了。
2013年11月4日 星期一
葡眾
葡眾...比較聰明的人第一次聽到或許就會想
"這家公司是不是跟葡萄王有關係???"
沒錯...他就是葡萄王底下的子公司,也是這幾年在台灣發展不錯的直銷業之一
不過在我遇到這麼多個在直銷公司工作的員工裡,幾乎都是一個樣
不外乎:
1. 幫你診斷健康症狀
2. 推薦你使用某種產品
3. 單純使用某產品效果很差,必須搭配其他產品
4. 說自己每天身體狀況多好,故意和你比對
5. 其他...(太多了,只要能拿來當推銷的理由都行)
只是我很討厭對方幫你診斷症狀之餘,還不斷推銷自家產品的心態
就高中時來說,最常遇到的就是:
"天啊!你的痘痘怎麼這麼嚴重!!這一定要用 NU SKIN的OOXX產品才行"
到現在出社會會聽到的:
"如果看你照片就知道你性功能一定是有問題才會這樣,看我每天都硬挺挺的。只要吃了葡眾的OO產品搭配XX產品三個月一定有效果"
但仔細想一想,如果這種東西這麼有效,為什麼只能透過下線購買
怎麼不上架在各藥局或者是超市,超商,這樣一定馬上銷售一空,業績狂漲
因為他們知道大部分的人不會去買這產品,就算買也只是短時間試試看而已
假如他們上架在各大通路,這樣產品馬上就滯銷,公司會面臨更大的虧損
"絕對不可能是說產品不新鮮的問題,你吃過哪罐直銷產品是當月做出來的嗎???"
就科學面來看,直銷所賣的東西大多屬於無害的食品類或營養劑
因為他們沒有經過人體實驗,沒辦法拿數據出來說話,只有當事人說法
假如說他真的很有效,也能拿出數據,那這種東西稱做"藥物"
就是因為這種東西只是食品,或者說是食補,所以他銷售的方式就只能像以上所說
舉一個簡單的例子,以前冬天大家都要吃薑母鴨,麻油雞補身體
但現在卻出現新聞說:冬天吃太補流鼻血,這到底是怎麼一回事?
因為現在大家都吃的非常好,火鍋,燒烤,日本料理,義式料理...等
假如在平常攝取的營養就足夠,那為什麼還需要食補呢?
而直銷所賣的大概就跟食補的薑母鴨和麻油雞是同一類東西
其實也可以很白話的說,平常營養均衡,睡眠充足,保持愉快心情本來就是生活要點
生病了吃直銷賣的東西,基本上就是補充營養,但實際上就是該多休息,多攝取養分
除非是心理依賴或者是被催眠,感覺不吃某產品就睡不著&身體很糟
不然 吃飽,睡飽,運動 本來就是健康三要素,而生技產品也只是補足在"吃"的部分而已
其他兩要素當然還是要靠自己才能把身體養好
最後仔細想一想,我還有必要每個月花個三四張小朋友在生技食品上嗎?
或許我可以拿這些錢去吃個大餐?(五星級飯店下午茶也是一張小朋友)
當然答案是不一定的,但短時間我大概都不會想再去看到直銷產品出現在我面前吧XD
"這家公司是不是跟葡萄王有關係???"
沒錯...他就是葡萄王底下的子公司,也是這幾年在台灣發展不錯的直銷業之一
不過在我遇到這麼多個在直銷公司工作的員工裡,幾乎都是一個樣
不外乎:
1. 幫你診斷健康症狀
2. 推薦你使用某種產品
3. 單純使用某產品效果很差,必須搭配其他產品
4. 說自己每天身體狀況多好,故意和你比對
5. 其他...(太多了,只要能拿來當推銷的理由都行)
只是我很討厭對方幫你診斷症狀之餘,還不斷推銷自家產品的心態
就高中時來說,最常遇到的就是:
"天啊!你的痘痘怎麼這麼嚴重!!這一定要用 NU SKIN的OOXX產品才行"
到現在出社會會聽到的:
"如果看你照片就知道你性功能一定是有問題才會這樣,看我每天都硬挺挺的。只要吃了葡眾的OO產品搭配XX產品三個月一定有效果"
但仔細想一想,如果這種東西這麼有效,為什麼只能透過下線購買
怎麼不上架在各藥局或者是超市,超商,這樣一定馬上銷售一空,業績狂漲
因為他們知道大部分的人不會去買這產品,就算買也只是短時間試試看而已
假如他們上架在各大通路,這樣產品馬上就滯銷,公司會面臨更大的虧損
"絕對不可能是說產品不新鮮的問題,你吃過哪罐直銷產品是當月做出來的嗎???"
就科學面來看,直銷所賣的東西大多屬於無害的食品類或營養劑
因為他們沒有經過人體實驗,沒辦法拿數據出來說話,只有當事人說法
假如說他真的很有效,也能拿出數據,那這種東西稱做"藥物"
就是因為這種東西只是食品,或者說是食補,所以他銷售的方式就只能像以上所說
舉一個簡單的例子,以前冬天大家都要吃薑母鴨,麻油雞補身體
但現在卻出現新聞說:冬天吃太補流鼻血,這到底是怎麼一回事?
因為現在大家都吃的非常好,火鍋,燒烤,日本料理,義式料理...等
假如在平常攝取的營養就足夠,那為什麼還需要食補呢?
而直銷所賣的大概就跟食補的薑母鴨和麻油雞是同一類東西
其實也可以很白話的說,平常營養均衡,睡眠充足,保持愉快心情本來就是生活要點
生病了吃直銷賣的東西,基本上就是補充營養,但實際上就是該多休息,多攝取養分
除非是心理依賴或者是被催眠,感覺不吃某產品就睡不著&身體很糟
不然 吃飽,睡飽,運動 本來就是健康三要素,而生技產品也只是補足在"吃"的部分而已
其他兩要素當然還是要靠自己才能把身體養好
最後仔細想一想,我還有必要每個月花個三四張小朋友在生技食品上嗎?
或許我可以拿這些錢去吃個大餐?(五星級飯店下午茶也是一張小朋友)
當然答案是不一定的,但短時間我大概都不會想再去看到直銷產品出現在我面前吧XD
2013年9月22日 星期日
2013年9月13日 星期五
一段javascript搞了我一個禮拜
事情大概是這樣的...有一段短短的javascript,
裡面內容不過15行,大概都是在 if => rowspan,
喔對了!他的rowspan還是用大寫的S (rowSpan),
在另外一支程式上他跑得很OK,我也不疑有他,
哪知道在我程式上 ( 而且只有在 IE 上 )就會搞到結束程式,
沒有徵兆,沒有偵錯,沒有問題( 同事堅決的否定 )
聽完都在想說是不是被曹姐姐附身了=_=
經過一個禮拜後,只大概確定 tr 設定 display:none 應該是主因,
但不管用什麼方法,像是 jquery.hidden() 都一樣會跳結束,
最後就直接寫在aspx.cs內,自己用個判斷式,
結果竟然就過了?! WTF?!
完全不太懂發生啥事情...只覺得人生好像浪費了一個禮拜= =...
裡面內容不過15行,大概都是在 if => rowspan,
喔對了!他的rowspan還是用大寫的S (rowSpan),
在另外一支程式上他跑得很OK,我也不疑有他,
哪知道在我程式上 ( 而且只有在 IE 上 )就會搞到結束程式,
沒有徵兆,沒有偵錯,沒有問題( 同事堅決的否定 )
聽完都在想說是不是被曹姐姐附身了=_=
經過一個禮拜後,只大概確定 tr 設定 display:none 應該是主因,
但不管用什麼方法,像是 jquery.hidden() 都一樣會跳結束,
最後就直接寫在aspx.cs內,自己用個判斷式,
結果竟然就過了?! WTF?!
完全不太懂發生啥事情...只覺得人生好像浪費了一個禮拜= =...
2013年8月29日 星期四
本週工作進度
星期一:
同事放假電腦沒開,服務沒辦法跑網頁最後會卡住
[上一頁修改]要在辜狗的瀏覽器上能用 => history.back不支援的問題
要加上複製的功能
星期二三四:
Step02網頁當掉(只有在某些稀少的IE內)
調查後發現竟然只是因為刪除一個按鈕,目前原因不明
但禮拜四下午終於修好
此外發現在自己的電腦上
IE8觀看網頁其menu竟然沒有inline-block
星期五
估計是報告,因為寫日記的時間是禮拜四= =
同事放假電腦沒開,服務沒辦法跑網頁最後會卡住
[上一頁修改]要在辜狗的瀏覽器上能用 => history.back不支援的問題
要加上複製的功能
星期二三四:
Step02網頁當掉(只有在某些稀少的IE內)
調查後發現竟然只是因為刪除一個按鈕,目前原因不明
但禮拜四下午終於修好
此外發現在自己的電腦上
IE8觀看網頁其menu竟然沒有inline-block
星期五
估計是報告,因為寫日記的時間是禮拜四= =
2013年8月25日 星期日
EX4JS?!?!?!
最近工作告一段落...
似乎也被上頭的主管發現了!!! 想偷偷打混摸魚都不行=.=
結果星期一一大早就被交付任務
要去找個叫做 EX4JS 的東西
恩...很明顯應該是個 JQuery 的, 然後主管有說到是 UI 相關的
想說直接辜狗一下關鍵字...沒有?!
倒是看到 EXT ...進去看了一下 DEMO網頁
應該就是這個沒錯了...只是好像是因為最近版本的關係
才變成 EXT JS 4.2.1...沒看錯東西就好~~
http://docs.sencha.com/extjs/4.2.1/#!/example/locale/multi-lang.html
似乎也被上頭的主管發現了!!! 想偷偷打混摸魚都不行=.=
結果星期一一大早就被交付任務
要去找個叫做 EX4JS 的東西
恩...很明顯應該是個 JQuery 的, 然後主管有說到是 UI 相關的
想說直接辜狗一下關鍵字...沒有?!
倒是看到 EXT ...進去看了一下 DEMO網頁
應該就是這個沒錯了...只是好像是因為最近版本的關係
才變成 EXT JS 4.2.1...沒看錯東西就好~~
http://docs.sencha.com/extjs/4.2.1/#!/example/locale/multi-lang.html
2013年7月18日 星期四
工作忙碌...
好用的 Jquery Menu 語法:
http://blog.pkcase.com/?p=212
好用的Gridview凍結欄位:
http://twlikol.blogspot.tw/2011/07/aspnet-gridview.html
http://gridviewscroll.aspcity.idv.tw/Demo.aspx#Freeze
http://blog.pkcase.com/?p=212
好用的Gridview凍結欄位:
http://twlikol.blogspot.tw/2011/07/aspnet-gridview.html
http://gridviewscroll.aspcity.idv.tw/Demo.aspx#Freeze
2013年7月14日 星期日
捷運兩三事
其實我原本主題想打 "自私的台北人",
但總覺得會一竿子打翻一船人,而且可能也太Tune,
加上也只能算是特定時段會看到的現象,
所以就以這種標題讓大家看
不管是一個禮拜中的哪一天,星期一至星期五
早上的捷運總是人滿為患。
以前在高中,大學,研究所的時代裡,
因為並不是天天搭捷運通勤,也或許是當初沒這回事,
所以完全沒有發現到,直到今天...
捷運來了,人們趕著上車,
我注意到,有些人總是不按排隊順序,
人家左邊下車,右邊上車,他就是硬要跟人相反,從左邊插隊上車,
再不然就是別人還在下車,他就是喜歡跟人家擠...
上了車之後,又馬上會看到有些人就是要站在那個位置,不讓給其他人,
彷彿一副 "此地是我家,此位是我站,想要跟我搶,先等我下車",
偏偏這些位置都是車廂內的精華地段,中央,門口兩側...
好不容易平安上車了,正當捷運才開到下一站時,
冷不防的就從背後被用力推了一把,"借過" 這算是口氣好一點的,
這年頭很少有人把 "請,不好意思,謝謝" 掛在嘴邊的,要也是掛在他的小孩身上。
最後終於等到自己快要下車的前一站,
突然幾個人在車廂要關閉之前跳進來,然後就站在門口,
沒錯,他們就是從隔壁車廂溜過來的,
為什麼他們不走車廂走道? 因為這樣沒辦法站到第一個出去的位置。
為什麼走月台換其他車廂? 因為這樣別人也沒辦法拒絕他站在最前。
或許這些人非常趕時間,似乎只要慢上10秒車子就會開走,就會沒辦法過紅綠燈,
但在我從後面看來,事實並不是如此。
車門打開了,站在最前面的人是第一個踏出腳步踩在月台上的,
但他接下來是走往電扶梯,靠在電扶梯的右側緩慢前進,
而他後面的好多人,有人靠著電扶梯左側走上去,有人走樓梯,
當初排第一個的人,真的這麼趕時間嗎?
我不確定,但我可以肯定他後面的那群人都比他能夠把握時間,
雖然起點不是最佳位置,但能夠在之後超越他人。
這到底是在訴說上班時間人們的自私心態?
還是在激勵各位,再怎麼樣的起點也都可以比他人早一步達成目標?
無論如何,這場好氣又好笑的鬧劇,
在傍晚的下班時刻和假日,是從來也看不到的,
欲收看的觀眾們,也請把握時間在上班日的早晨買好捷運票,以免向隅。
但總覺得會一竿子打翻一船人,而且可能也太Tune,
加上也只能算是特定時段會看到的現象,
所以就以這種標題讓大家看
不管是一個禮拜中的哪一天,星期一至星期五
早上的捷運總是人滿為患。
以前在高中,大學,研究所的時代裡,
因為並不是天天搭捷運通勤,也或許是當初沒這回事,
所以完全沒有發現到,直到今天...
捷運來了,人們趕著上車,
我注意到,有些人總是不按排隊順序,
人家左邊下車,右邊上車,他就是硬要跟人相反,從左邊插隊上車,
再不然就是別人還在下車,他就是喜歡跟人家擠...
上了車之後,又馬上會看到有些人就是要站在那個位置,不讓給其他人,
彷彿一副 "此地是我家,此位是我站,想要跟我搶,先等我下車",
偏偏這些位置都是車廂內的精華地段,中央,門口兩側...
好不容易平安上車了,正當捷運才開到下一站時,
冷不防的就從背後被用力推了一把,"借過" 這算是口氣好一點的,
這年頭很少有人把 "請,不好意思,謝謝" 掛在嘴邊的,要也是掛在他的小孩身上。
最後終於等到自己快要下車的前一站,
突然幾個人在車廂要關閉之前跳進來,然後就站在門口,
沒錯,他們就是從隔壁車廂溜過來的,
為什麼他們不走車廂走道? 因為這樣沒辦法站到第一個出去的位置。
為什麼走月台換其他車廂? 因為這樣別人也沒辦法拒絕他站在最前。
或許這些人非常趕時間,似乎只要慢上10秒車子就會開走,就會沒辦法過紅綠燈,
但在我從後面看來,事實並不是如此。
車門打開了,站在最前面的人是第一個踏出腳步踩在月台上的,
但他接下來是走往電扶梯,靠在電扶梯的右側緩慢前進,
而他後面的好多人,有人靠著電扶梯左側走上去,有人走樓梯,
當初排第一個的人,真的這麼趕時間嗎?
我不確定,但我可以肯定他後面的那群人都比他能夠把握時間,
雖然起點不是最佳位置,但能夠在之後超越他人。
這到底是在訴說上班時間人們的自私心態?
還是在激勵各位,再怎麼樣的起點也都可以比他人早一步達成目標?
無論如何,這場好氣又好笑的鬧劇,
在傍晚的下班時刻和假日,是從來也看不到的,
欲收看的觀眾們,也請把握時間在上班日的早晨買好捷運票,以免向隅。
2013年7月9日 星期二
工作抱怨
最近正在趕著程式改版,
結果臨時插了一個單進來,本想說當天速戰速決,
誰知道這根本是另外一個坑,連收單的人都不會檢查一下內容有沒有問題。
內容大概就是一個gridview原本查詢的資料庫,要join其他資料庫資料,
想用新增伺服器物件...說不安全拒絕,
把表格先抓進電腦記憶體跑...事情就這樣發生了。
雖然我程式也不是寫得很好,
但三番兩次都跑不出結果就真的很詭異。
寫程式的都知道,跑出 error 基本上都還屬於能解(理解)的範圍,
但是連個屁也沒有問題就大了。
簡單來說,你得了肝癌不也是完全沒徵兆~_~
自己只好用 WinSQL 去資料庫看看是怎麼回事
不看還好...一看...自己電腦也差點當機,
原來資料庫裡面的資料高達上百萬筆...
我的媽...把這些東西讀進去電腦裡,
每個客戶都來一次,電腦不會葛屁才有鬼,
重點是速度根本慢到爆炸,查個資料查個10幾分鐘,
這種東西根本可以查到天荒地老,然後丟給你一個結果是(空) 。
反正看到這情況,就是向上報告,
看他們怎麼處理,之後再依法行事,
比較奇怪的是,從接單到我手上總共經手3個以上的人,
竟然只有我有這問題,是我運氣不好還是...!?
結果臨時插了一個單進來,本想說當天速戰速決,
誰知道這根本是另外一個坑,連收單的人都不會檢查一下內容有沒有問題。
內容大概就是一個gridview原本查詢的資料庫,要join其他資料庫資料,
想用新增伺服器物件...說不安全拒絕,
把表格先抓進電腦記憶體跑...事情就這樣發生了。
雖然我程式也不是寫得很好,
但三番兩次都跑不出結果就真的很詭異。
寫程式的都知道,跑出 error 基本上都還屬於能解(理解)的範圍,
但是連個屁也沒有問題就大了。
簡單來說,你得了肝癌不也是完全沒徵兆~_~
自己只好用 WinSQL 去資料庫看看是怎麼回事
不看還好...一看...自己電腦也差點當機,
原來資料庫裡面的資料高達上百萬筆...
我的媽...把這些東西讀進去電腦裡,
每個客戶都來一次,電腦不會葛屁才有鬼,
重點是速度根本慢到爆炸,查個資料查個10幾分鐘,
這種東西根本可以查到天荒地老,然後丟給你一個結果是(空) 。
反正看到這情況,就是向上報告,
看他們怎麼處理,之後再依法行事,
比較奇怪的是,從接單到我手上總共經手3個以上的人,
竟然只有我有這問題,是我運氣不好還是...!?
jQuery Library 改版之草草結束
上次好像說要交代回傳的部分,
不過後來發現要貼的程式碼太多,會霧煞煞
所以就簡單的告訴大家回傳的字串要長什麼樣子
因為我是要求 json type的回傳字串,
所以正常來說應該是這樣(如果只有一個物件)
[{"value0":"0","value1":"1"..."value10":"10"}]
代表此物件有11個變數可回傳,當然value0~value10及0~10都是可以自己更改的
只要在回傳後 ui.item 給對名字就好!
如果是多個物件的話則是長這樣
[{"value0":"0","value1":"1"..."value10":"10"},{"value0":"0","value1":"1"..."value10":"10"},{"value0":"0","value1":"1"..."value10":"10"},...]
就是以大括號來區隔每一個物件,回傳時一樣讀取正確的名字
自然你有幾個物件, Autocomplete就有幾個選項可以選
至於要怎麼產生出這樣的字串就是靠自己功力了,
我自己就只是在 database loading 的前後加上中括號,
load中間每一行加上大括號,提供給各位看官參考看看。
不過後來發現要貼的程式碼太多,會霧煞煞
所以就簡單的告訴大家回傳的字串要長什麼樣子
因為我是要求 json type的回傳字串,
所以正常來說應該是這樣(如果只有一個物件)
[{"value0":"0","value1":"1"..."value10":"10"}]
代表此物件有11個變數可回傳,當然value0~value10及0~10都是可以自己更改的
只要在回傳後 ui.item 給對名字就好!
如果是多個物件的話則是長這樣
[{"value0":"0","value1":"1"..."value10":"10"},{"value0":"0","value1":"1"..."value10":"10"},{"value0":"0","value1":"1"..."value10":"10"},...]
就是以大括號來區隔每一個物件,回傳時一樣讀取正確的名字
自然你有幾個物件, Autocomplete就有幾個選項可以選
至於要怎麼產生出這樣的字串就是靠自己功力了,
我自己就只是在 database loading 的前後加上中括號,
load中間每一行加上大括號,提供給各位看官參考看看。
2013年7月1日 星期一
蟑螂爆蛋
回想上禮拜五上班的時候,因為一直掛念不能刷的存摺
還一度以為是帳號被盜了還是凍結什麼的...整個人提心吊膽
到公司看到桌上有一兩隻很小很小的蟑螂...想說也不是第一次看到
正準備把它們殺掉的時候,突然紙張下面突然竄出一堆小小蟑螂
當場除了傻眼還是只有傻眼,但不管三七二十一還是抄起身旁的廢紙打下去
起初還以為是在桌上放了什麼吃的東西,但桌上就幾個茶包跟沒有破損的麥片包
應該不太可能是桌上有食糧才引來蟑螂。
這時對面的同事就跟我說: "這一定是蟑螂爆蛋啦"
爆蛋?! 這種事怎麼可能會發生在我桌上?!
但仔細找一找,還真的在一張捲起來的廢紙裡面找到一個乾掉的蛋殼
當場只能說 (ㄍㄢˋ) 來表示我無言到極點的感受
幸運的是蟑螂媽媽在產卵後沒多久就在後面的置物櫃地板上被發現
可惜早已經死在某人的腳底下了XD
而小蟑螂也撲殺的差不多,至少我桌上沒有食物來源
不過讓我看到這景象實在是讓我提不起什麼工作感
所以下午就請假回家去搞存摺的事情了...放自己半天假也不錯
還一度以為是帳號被盜了還是凍結什麼的...整個人提心吊膽
到公司看到桌上有一兩隻很小很小的蟑螂...想說也不是第一次看到
正準備把它們殺掉的時候,突然紙張下面突然竄出一堆小小蟑螂
當場除了傻眼還是只有傻眼,但不管三七二十一還是抄起身旁的廢紙打下去
起初還以為是在桌上放了什麼吃的東西,但桌上就幾個茶包跟沒有破損的麥片包
應該不太可能是桌上有食糧才引來蟑螂。
這時對面的同事就跟我說: "這一定是蟑螂爆蛋啦"
爆蛋?! 這種事怎麼可能會發生在我桌上?!
但仔細找一找,還真的在一張捲起來的廢紙裡面找到一個乾掉的蛋殼
當場只能說 (ㄍㄢˋ) 來表示我無言到極點的感受
幸運的是蟑螂媽媽在產卵後沒多久就在後面的置物櫃地板上被發現
可惜早已經死在某人的腳底下了XD
而小蟑螂也撲殺的差不多,至少我桌上沒有食物來源
不過讓我看到這景象實在是讓我提不起什麼工作感
所以下午就請假回家去搞存摺的事情了...放自己半天假也不錯
2013年6月25日 星期二
jQuery Library 改版
上禮拜主管交代要做一些事情之後,就消失了兩天,
只說了: "jQuery Library要改版,很簡單的!"
結果摸了之後才知道,根本就一堆東西都要改!!
先說一下原先的版本是 1.4.1 > 1.10.1 ,ui 的方面則是 1.8 > 1.10.3
光是看到版本上數字的差距就覺得...不是很妙。
不過人家都說很簡單了,我們就來試試看。
首先,先把 include 的地方改掉... Autocomplete 馬上死光...
好吧重新寫個 Autocomplete...後端資料來源不是 json 格式...
想說整個 Autocomplete 都重寫了,應該會過了吧...參數命名方式改變...
然後竟然 PostBack 會讓 Autocomplete 死光...要重新綁定...
原先的 $("#ID").attr("checked",True) 竟然被改成 attr > prop啊!
這就算了,連 $("#ID").Checked都從 True > Checked!
我只能說這改版真是要人命,幸好主管一向很慈(ㄐㄧㄢˋ)悲(ㄨㄤˋ)
原本禮拜一就要交出去的東西弄到禮拜三才給他,目前測試中。
只是想到之。後。還。要。再。繼。續。改
就覺得....不要這樣浪費時間好嗎~~~~~明明就一堆更重要的事情可以做!
由於此篇文章太沒營養,所以下面就教大家如何在目前最新版本上寫 Autocomplete
首先你可以先去參考 jQuery 官方網站的寫法,當然是可以 Work 的
因為我要改寫成從後端資料庫抓資料來,所以souce就改了一下
<script type="text/javascript">
function DeptAutoCompl() {
$("#tbDept").autocomplete({
//來源相關資料都包進去
source: function (request, response) {
$.ajax({
//下面是我抓資料的副程式
url: "jGetAutoComSrc_Dept.ashx",
dataType: "json",
data: {
//以下是由客戶頁面端要傳送給url的參數名稱及資料
// request.term代表你目前keyin的資料
q: request.term,
StdCode: $.trim($("#ddlChannel").val()),
SearchCol1: "DeptCode",
SearchCol2: "DeptName"
},
success: function (data) {
response(data);
}
});
},
//大小寫要注意,當初打成minlength就完全不會動
minLength: 0,
//下面代表 Autocomplete 的選項被選定後要做的行為
//基本上就是把資料都抓出來填到 textbox 中
select: function (event, ui) {
$(this).val(ui.item.value1 + " " + ui.item.value2);
$("#tbSalTel").val(ui.item.value3);
$("#tbSalFax").val(ui.item.value4);
$("#tbSolinoId").val(ui.item.value6);
$("#tbSolinoName").val(ui.item.value7);
$("#tbSolinoTel").val(ui.item.value8);
$("#tbSolinoExt").val(ui.item.value9);
$("#tbSolinoMobile").val(ui.item.value10);
$("#txtDeptCode").val(ui.item.value1);
if ($("#tbSalEmail").val() == "") {
$("#tbSalEmail").val(ui.item.value5);
}
//注意:有時候沒有 return false會不 work
return false;
}
})
</script>
控制項名稱的部分...就看官先自行理解...有問題再提出。
後端副程式的部分...待下回分解...因為怕貼上來看我自己眼睛都花了...XD
只說了: "jQuery Library要改版,很簡單的!"
結果摸了之後才知道,根本就一堆東西都要改!!
先說一下原先的版本是 1.4.1 > 1.10.1 ,ui 的方面則是 1.8 > 1.10.3
光是看到版本上數字的差距就覺得...不是很妙。
不過人家都說很簡單了,我們就來試試看。
首先,先把 include 的地方改掉... Autocomplete 馬上死光...
好吧重新寫個 Autocomplete...後端資料來源不是 json 格式...
想說整個 Autocomplete 都重寫了,應該會過了吧...參數命名方式改變...
然後竟然 PostBack 會讓 Autocomplete 死光...要重新綁定...
原先的 $("#ID").attr("checked",True) 竟然被改成 attr > prop啊!
這就算了,連 $("#ID").Checked都從 True > Checked!
我只能說這改版真是要人命,幸好主管一向很慈(ㄐㄧㄢˋ)悲(ㄨㄤˋ)
原本禮拜一就要交出去的東西弄到禮拜三才給他,目前測試中。
只是想到之。後。還。要。再。繼。續。改
就覺得....不要這樣浪費時間好嗎~~~~~明明就一堆更重要的事情可以做!
由於此篇文章太沒營養,所以下面就教大家如何在目前最新版本上寫 Autocomplete
首先你可以先去參考 jQuery 官方網站的寫法,當然是可以 Work 的
因為我要改寫成從後端資料庫抓資料來,所以souce就改了一下
<script type="text/javascript">
function DeptAutoCompl() {
$("#tbDept").autocomplete({
//來源相關資料都包進去
source: function (request, response) {
$.ajax({
//下面是我抓資料的副程式
url: "jGetAutoComSrc_Dept.ashx",
dataType: "json",
data: {
//以下是由客戶頁面端要傳送給url的參數名稱及資料
// request.term代表你目前keyin的資料
q: request.term,
StdCode: $.trim($("#ddlChannel").val()),
SearchCol1: "DeptCode",
SearchCol2: "DeptName"
},
success: function (data) {
response(data);
}
});
},
//大小寫要注意,當初打成minlength就完全不會動
minLength: 0,
//下面代表 Autocomplete 的選項被選定後要做的行為
//基本上就是把資料都抓出來填到 textbox 中
select: function (event, ui) {
$(this).val(ui.item.value1 + " " + ui.item.value2);
$("#tbSalTel").val(ui.item.value3);
$("#tbSalFax").val(ui.item.value4);
$("#tbSolinoId").val(ui.item.value6);
$("#tbSolinoName").val(ui.item.value7);
$("#tbSolinoTel").val(ui.item.value8);
$("#tbSolinoExt").val(ui.item.value9);
$("#tbSolinoMobile").val(ui.item.value10);
$("#txtDeptCode").val(ui.item.value1);
if ($("#tbSalEmail").val() == "") {
$("#tbSalEmail").val(ui.item.value5);
}
//注意:有時候沒有 return false會不 work
return false;
}
})
</script>
控制項名稱的部分...就看官先自行理解...有問題再提出。
後端副程式的部分...待下回分解...因為怕貼上來看我自己眼睛都花了...XD
2013年5月3日 星期五
PhoneGap 拍照和上傳 (GetPicture & Upload)
最近...突然被主管叫去交付了一個任務
原本只是說拉介面(OS: 還好...),沒想到需求越來越大,
結果最後整個專案都變成我在座了嘛!(怒摔桌)
咳...重點不是宣洩怒氣,所以先忍耐吧~_~
http://blog.csdn.net/xiaoguang44/article/details/8073915
首先拍照的部分,我是參考上面這篇,
基本上都已經說得很詳細了,要注意的就是,
FILE_URI 可以改成 DATA_URL (不是很重要)
還有就是 destinationType: navigator.camera.DestinationType.FILE_URI
這最後面可以變成 FIEL_URL, saveToPhotoAlbum: true 啊啊!!
這超級重要的,只要加上這行就可以把照片直接存進相簿,
不然要找暫存資料夾,加上每台手機路徑都不同,
不知道還真的是會把自己累死!
另外像是 sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY
可以把 PHOTOLIBRARY 換成 CAMERA 就會變成拍照,這些上網查查就知道,
在這邊會遇到一個問題...就是直接抓手機內存的圖片很容易當機,
恩...這幾天我去問了朋友跟Google的結果...似乎是無解,
雖然我主管說是摳都法版本的問題(原本是2.5.0),
不過換到 2.7.0 之後裡面一些功能都壞掉了嘛~連用都不能用...(還是無解)
所以請乖乖的拍照...
上傳的部分,我是使用 web service (.asmx) 接收 POST 的資料,
至於程式碼...請參照以下網址
https://groups.google.com/forum/?fromgroups=#!topic/phonegap/3XhwEyPnw6I
比較需要注意的是 options.fileKey="recFile" 的名稱必須和接收端的
HttpPostedFile file = HttpContext.Current.Request.Files["recFile"];相同,才有資料。
至於 ServerURI...請自己先發行好服務,然後引用看看,直接引用會有失敗訊息 ,
因為你只是引用...也沒給他File資料...當然抓不到,但就代表可以接了!
再來就是上傳成功和失敗的 function 部分,會看到大部分例子都是alert();
但其實可以寫其他 function 並傳入你想丟進去的變數,而不是只有例子中的那些。
如:
function win() { document.getElementById('Label1' + i).innerText = "上傳成功"; }
這樣就可以在畫面上直接顯示上傳成功,而不是alert()點下去就忘記上傳結果了!
剩下可能還很多...短短幾天搞出來的,
不過2.7.0的資料來源太少...都是英文,過幾天再看看吧...=..=
原本只是說拉介面(OS: 還好...),沒想到需求越來越大,
結果最後整個專案都變成我在座了嘛!(怒摔桌)
咳...重點不是宣洩怒氣,所以先忍耐吧~_~
http://blog.csdn.net/xiaoguang44/article/details/8073915
首先拍照的部分,我是參考上面這篇,
基本上都已經說得很詳細了,要注意的就是,
FILE_URI 可以改成 DATA_URL (不是很重要)
還有就是 destinationType: navigator.camera.DestinationType.FILE_URI
這最後面可以變成 FIEL_URL, saveToPhotoAlbum: true 啊啊!!
這超級重要的,只要加上這行就可以把照片直接存進相簿,
不然要找暫存資料夾,加上每台手機路徑都不同,
不知道還真的是會把自己累死!
另外像是 sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY
可以把 PHOTOLIBRARY 換成 CAMERA 就會變成拍照,這些上網查查就知道,
在這邊會遇到一個問題...就是直接抓手機內存的圖片很容易當機,
恩...這幾天我去問了朋友跟Google的結果...似乎是無解,
雖然我主管說是摳都法版本的問題(原本是2.5.0),
不過換到 2.7.0 之後裡面一些功能都壞掉了嘛~連用都不能用...(還是無解)
所以請乖乖的拍照...
上傳的部分,我是使用 web service (.asmx) 接收 POST 的資料,
至於程式碼...請參照以下網址
https://groups.google.com/forum/?fromgroups=#!topic/phonegap/3XhwEyPnw6I
比較需要注意的是 options.fileKey="recFile" 的名稱必須和接收端的
HttpPostedFile file = HttpContext.Current.Request.Files["recFile"];相同,才有資料。
至於 ServerURI...請自己先發行好服務,然後引用看看,直接引用會有失敗訊息 ,
因為你只是引用...也沒給他File資料...當然抓不到,但就代表可以接了!
再來就是上傳成功和失敗的 function 部分,會看到大部分例子都是alert();
但其實可以寫其他 function 並傳入你想丟進去的變數,而不是只有例子中的那些。
如:
function win() { document.getElementById('Label1' + i).innerText = "上傳成功"; }
這樣就可以在畫面上直接顯示上傳成功,而不是alert()點下去就忘記上傳結果了!
剩下可能還很多...短短幾天搞出來的,
不過2.7.0的資料來源太少...都是英文,過幾天再看看吧...=..=
2013年4月24日 星期三
Autocomplete
最近專案寫得差不多了...
雖然客戶的要求依然不斷,
不要這個欄位,這邊多加這個,那邊多加那個,
(深深感覺到規格書是多麼重要阿...只要太超過的就拿規格書出來就對了!)
改到最後...看到一個需求...
Autocomplete 按下 tab 之後要自動選取第一個選項...?
這不是本來就有的功能嗎...自己去確認好了...
結果發現真的不能用 tab 選擇...哪泥?
一開始還以為是不是故障了還是哪個參數沒設定(SelectFirst),
最後才發現...原來是原本引用的 jquery autocomplete 是公司舊版的,
也不知道裡面到底改了什麼東西,
換了一個檔案重新跑一次...結束。
這次差點就把我嚇到閃尿了~都快結案才一堆要求,
下次一定要鐵心腸一點!!(握拳)
雖然客戶的要求依然不斷,
不要這個欄位,這邊多加這個,那邊多加那個,
(深深感覺到規格書是多麼重要阿...只要太超過的就拿規格書出來就對了!)
改到最後...看到一個需求...
Autocomplete 按下 tab 之後要自動選取第一個選項...?
這不是本來就有的功能嗎...自己去確認好了...
結果發現真的不能用 tab 選擇...哪泥?
一開始還以為是不是故障了還是哪個參數沒設定(SelectFirst),
最後才發現...原來是原本引用的 jquery autocomplete 是公司舊版的,
也不知道裡面到底改了什麼東西,
換了一個檔案重新跑一次...結束。
這次差點就把我嚇到閃尿了~都快結案才一堆要求,
下次一定要鐵心腸一點!!(握拳)
2013年4月17日 星期三
不同語言,不同人,不同想法,不同習慣。
恩...首先先聲明,這並不是一篇說跟誰相處的文章。
(好吧其實也可以說是啦...)
主要是這次的專案上線後,由於填寫和列印是由兩個不同的人在寫,
所以一個用C#,一個用vb,老實說我也沒碰過vb...
雖然看一下是可以理解裡面的想法,但要我從頭到尾改...
那還不如重寫一個算了(認真!)
再來對方的 webconfig 檔亂到不行... 光是要整理就要老半天,
對於其他部門一直在催的情況下,時間真的不太夠。
但主要是我今天感冒有點嚴重...講話聲音都變了XD
所以只好想了一個比較簡易的方法,
就是拜託對方把自己的程式發布成一個應用程式,
然後再我的網站裡丟他所需要的 QueryString,
(也還好他是用 Response.QueryString...不然又要溝通多久)
想到昨天的 Session...方法是不錯,但可能這種公司比較難實現,
比較可能的大概是對 QueryString 編碼或加密吧...雖然現階段連這些公司都沒做到XD
(好吧其實也可以說是啦...)
主要是這次的專案上線後,由於填寫和列印是由兩個不同的人在寫,
所以一個用C#,一個用vb,老實說我也沒碰過vb...
雖然看一下是可以理解裡面的想法,但要我從頭到尾改...
那還不如重寫一個算了(認真!)
再來對方的 webconfig 檔亂到不行... 光是要整理就要老半天,
對於其他部門一直在催的情況下,時間真的不太夠。
但主要是我今天感冒有點嚴重...講話聲音都變了XD
所以只好想了一個比較簡易的方法,
就是拜託對方把自己的程式發布成一個應用程式,
然後再我的網站裡丟他所需要的 QueryString,
(也還好他是用 Response.QueryString...不然又要溝通多久)
想到昨天的 Session...方法是不錯,但可能這種公司比較難實現,
比較可能的大概是對 QueryString 編碼或加密吧...雖然現階段連這些公司都沒做到XD
Session 遇見 IE
第一次遇到...寫好的網頁,
旁邊的同事可以用,樓下的同事可以用,
就樓樓下的同事用了會出問題。
看樣子是 Session 在導向後就自己消失了,
還想說七月都還沒到就發生這種鬼事= =
研究了一下,原來是只會在 IE 6 7上發生的事情,
關鍵字: Session, IE, 失效
好啦...這下只能用QueryString傳,
反正不要有人刻意去督資安這塊...暫時是不會有問題,
不過久了就難說囉~~~
一整個下午改程式改到吐血 >3<
旁邊的同事可以用,樓下的同事可以用,
就樓樓下的同事用了會出問題。
看樣子是 Session 在導向後就自己消失了,
還想說七月都還沒到就發生這種鬼事= =
研究了一下,原來是只會在 IE 6 7上發生的事情,
關鍵字: Session, IE, 失效
好啦...這下只能用QueryString傳,
反正不要有人刻意去督資安這塊...暫時是不會有問題,
不過久了就難說囉~~~
一整個下午改程式改到吐血 >3<
2013年4月12日 星期五
IE Tester 和一堆小廢話
好不容易一個專案終於快生出來了,
剩下的就是無盡的測試跟修改,
然後今天主管說:要用 IE 6 測看看喔!
蝦密!都什麼年代還在 IE 6 ~~~ 好吧,
仔細想想應該很多老公司都還在 IE 6 吧...非科技業的更如此,
一般產業可能早就換到 Chrome 或者是 Firefox 去了,
看那些精美的 css (遠望),
然後再看看 IE 6 上一堆變型的表格,
心裡只有無限怨嘆~~公司快全面更新到 Win7啦!(抗議完畢)
因為公司只有少數人是用 Win7 的系統,
沒錯...我就是其中一個,所以不太能接受還要特地為了 IE 6 調整一次版面,
畢竟是本來就應該淘汰的東西...
所以只好拿 IE Tester 測試,不然 Win 7 可是不支援 IE 6 和 7的阿!
還記得,前一陣子,部門在推行知識庫的概念,
還特地去架了一個精美的網頁給大家上傳東西,
結果一提到 " IE 6 不能支援,請安裝 FF 或 Ch ",
馬上旁邊就開始一堆 "蛤~?", "什麼~?", "齁~" 之類的感想,
之後雖然是我去幫大家安裝,但可以感覺得出來,大家真的很不想改用軟體 =__=
真的是人老了就越來越不能接受一些新事物...!
剩下的就是無盡的測試跟修改,
然後今天主管說:要用 IE 6 測看看喔!
蝦密!都什麼年代還在 IE 6 ~~~ 好吧,
仔細想想應該很多老公司都還在 IE 6 吧...非科技業的更如此,
一般產業可能早就換到 Chrome 或者是 Firefox 去了,
看那些精美的 css (遠望),
然後再看看 IE 6 上一堆變型的表格,
心裡只有無限怨嘆~~公司快全面更新到 Win7啦!(抗議完畢)
因為公司只有少數人是用 Win7 的系統,
沒錯...我就是其中一個,所以不太能接受還要特地為了 IE 6 調整一次版面,
畢竟是本來就應該淘汰的東西...
所以只好拿 IE Tester 測試,不然 Win 7 可是不支援 IE 6 和 7的阿!
還記得,前一陣子,部門在推行知識庫的概念,
還特地去架了一個精美的網頁給大家上傳東西,
結果一提到 " IE 6 不能支援,請安裝 FF 或 Ch ",
馬上旁邊就開始一堆 "蛤~?", "什麼~?", "齁~" 之類的感想,
之後雖然是我去幫大家安裝,但可以感覺得出來,大家真的很不想改用軟體 =__=
真的是人老了就越來越不能接受一些新事物...!
2013年4月11日 星期四
Gridview 中的 HyperLinkField 傳送 url 處理
恩...其實蠻簡單的,
先到編輯樣板,把要使用的欄位改成 Template Field,
然後回到程式碼,會發現跟原本不太一樣,
這時候就可以使用以下方法修改:
NavigateUrl='<%# Eval("變數名稱", "MarineInsert.aspx?New=copy&xorder="+
使用方法(Eval("變數名稱").ToString())) %>'
在這邊的使用方法是寫在 aspx.cs中的,注意。
像我是使用 Base64 的編碼,至少讓使用者沒辦法直接試出某筆資料。
但面對有心人還是必須倚賴加密的演算法。
最後,記得在 QueryString 的接收端加上解密 / 解碼的方法。
先到編輯樣板,把要使用的欄位改成 Template Field,
然後回到程式碼,會發現跟原本不太一樣,
這時候就可以使用以下方法修改:
NavigateUrl='<%# Eval("變數名稱", "MarineInsert.aspx?New=copy&xorder="+
使用方法(Eval("變數名稱").ToString())) %>'
在這邊的使用方法是寫在 aspx.cs中的,注意。
像我是使用 Base64 的編碼,至少讓使用者沒辦法直接試出某筆資料。
但面對有心人還是必須倚賴加密的演算法。
最後,記得在 QueryString 的接收端加上解密 / 解碼的方法。
2013年4月10日 星期三
好冷好冷~
這幾天天氣都非常的怪異...
自從清明節連假後,天氣就幾乎一天比一天冷,
而且也沒出過幾天太陽...。
早上工作到快10點,上個廁所往外看,
整個天空黑媽媽的一片...感覺又要下雨了,
今天晚上還要去運動阿~~希望至少別下到晚上xd
自從清明節連假後,天氣就幾乎一天比一天冷,
而且也沒出過幾天太陽...。
早上工作到快10點,上個廁所往外看,
整個天空黑媽媽的一片...感覺又要下雨了,
今天晚上還要去運動阿~~希望至少別下到晚上xd
資料庫遇到單引號的問題
常常寫入或讀出資料庫的時候,
都會遇到有單引號的狀況...!
雖然我們還是希望使用者能不要輸入符號類的資訊,
但其實想想有時候還是沒辦法...一些像是國外的公司行號,
通常一定都會帶著單引號如:Forker's Burger
(一看就覺得是工作餓到在想吃的...XD)
所以只好在存取時就進行字串替代的處理,
如果是網頁之間資料的傳輸(ashx to aspx):
string rep = dr["cunam1"].ToString();
string repd = rep.Replace("'", "'");
context.Response.Write(" 'cunam1_o':' " + repd + " ' ");
然後接收端 :
var strnam = xmlObject.cunam1_o;
strnam = strnam.replace("'", " ' ");
就可以完整的丟出原字串啦~
而如果是在aspx進行MSSQL寫入時,只要將單引號替代成兩個單引號:
public string ReplaceString(string Any)
{
if (string.IsNullOrEmpty(Any))
{
return " ";
}
else
{
return Any.Replace(" ' "," '' ");
}
}
就可以正常的在MSSQL中正常存取了~但比較偷懶,
畢竟只有處理單引號的問題而已@_@
都會遇到有單引號的狀況...!
雖然我們還是希望使用者能不要輸入符號類的資訊,
但其實想想有時候還是沒辦法...一些像是國外的公司行號,
通常一定都會帶著單引號如:Forker's Burger
(一看就覺得是工作餓到在想吃的...XD)
所以只好在存取時就進行字串替代的處理,
如果是網頁之間資料的傳輸(ashx to aspx):
string rep = dr["cunam1"].ToString();
string repd = rep.Replace("'", "'");
context.Response.Write(" 'cunam1_o':' " + repd + " ' ");
然後接收端 :
var strnam = xmlObject.cunam1_o;
strnam = strnam.replace("'", " ' ");
就可以完整的丟出原字串啦~
而如果是在aspx進行MSSQL寫入時,只要將單引號替代成兩個單引號:
public string ReplaceString(string Any)
{
if (string.IsNullOrEmpty(Any))
{
return " ";
}
else
{
return Any.Replace(" ' "," '' ");
}
}
就可以正常的在MSSQL中正常存取了~但比較偷懶,
畢竟只有處理單引號的問題而已@_@
專案
最近寫了一個網頁...
重點...他是要連上Informix的,
一切都拜其他部門同事所賜,
幾乎所有功能都要能autocomplete。
在本機上跑的時候一切正常無誤,
結果發行之後就葛屁了!!
然後 Try 了一天後,又好了!!
詭異的一天...=..=
重點...他是要連上Informix的,
一切都拜其他部門同事所賜,
幾乎所有功能都要能autocomplete。
在本機上跑的時候一切正常無誤,
結果發行之後就葛屁了!!
然後 Try 了一天後,又好了!!
詭異的一天...=..=
2013年3月14日 星期四
2013年3月13日 星期三
Javascript - Cookie 之二
開開心心的用了 Cookie 後,竟然發現一件事情,
原先在 Alert 顯示 Cookie 內容後,再更改動態 Dropdwonlist 的想法,
在把 Alert 這行拿掉後竟然不能跑了?!?! 這是什麼巫術??
仔細想了一下...會不會是因為 function 中有呼叫到 AJAX 產生動態表格內容,
所以在產生表格之前 Javascript 就已經要指向一個還沒產生的 Index,
結果當然就是沒有任何效果,然後表格還是照樣產出,只是 Selected,
接著在動態產生選項的迴圈內,補上一段:
"當迴圈執行到最後時,才開始進行 Index 的選擇"
然後再重新跑一次...好了~
原先在 Alert 顯示 Cookie 內容後,再更改動態 Dropdwonlist 的想法,
在把 Alert 這行拿掉後竟然不能跑了?!?! 這是什麼巫術??
仔細想了一下...會不會是因為 function 中有呼叫到 AJAX 產生動態表格內容,
所以在產生表格之前 Javascript 就已經要指向一個還沒產生的 Index,
結果當然就是沒有任何效果,然後表格還是照樣產出,只是 Selected,
接著在動態產生選項的迴圈內,補上一段:
"當迴圈執行到最後時,才開始進行 Index 的選擇"
然後再重新跑一次...好了~
2013年3月12日 星期二
javascript - cookie
又是因為工作需要...所以要用 cookie,
原因是動態產生的 Dropdownlist 經過 post 到下一頁之後,
如果按上一頁回來或者是重新整理,東西就會不見了!
也當然...畢竟是透過動態產生的當然會洗掉,
所以就只好透過一些判斷式和 cookie 保留結果,
在 body onload 的時候 cookie toss!
就可以得到想要的效果了。
使用方式:
(儲存)
document.cookie = "select1D=0"; //也可以使用變數
(讀取出特定變數)
var strCookie = document.cookie;
var arrCookie = strCookie.split("; ");
var select1D;
for (var i = 0; i < arrCookie.length; i++) {
var arr = arrCookie[i].split("=");
if ("select1D" == arr[0]) {
select1D = arr[1];
break;
}
}
(直接 toss 整個 cookie)
alert(document.cookie);
或者是打入指令以 toss 整個 cookie:
var Aubrey = "I saw the sign and it opened up my eyes I saw the " + $("toss_cookie").val();
alert(Aubrey);
會得到 "Entire week's lunch"
這當然是開玩笑啦...XD
原因是動態產生的 Dropdownlist 經過 post 到下一頁之後,
如果按上一頁回來或者是重新整理,東西就會不見了!
也當然...畢竟是透過動態產生的當然會洗掉,
所以就只好透過一些判斷式和 cookie 保留結果,
在 body onload 的時候 cookie toss!
就可以得到想要的效果了。
使用方式:
(儲存)
document.cookie = "select1D=0"; //也可以使用變數
(讀取出特定變數)
var strCookie = document.cookie;
var arrCookie = strCookie.split("; ");
var select1D;
for (var i = 0; i < arrCookie.length; i++) {
var arr = arrCookie[i].split("=");
if ("select1D" == arr[0]) {
select1D = arr[1];
break;
}
}
(直接 toss 整個 cookie)
alert(document.cookie);
或者是打入指令以 toss 整個 cookie:
var Aubrey = "I saw the sign and it opened up my eyes I saw the " + $("toss_cookie").val();
alert(Aubrey);
會得到 "Entire week's lunch"
這當然是開玩笑啦...XD
2013年3月10日 星期日
jquery file upload
參考網址
最近突然被告知要去研究這東東...也還不知道怎麼回事?
總之就先架設起來了,
要注意的小問題,要把 IIS 管線模式設定成 v4.0整合式,
然後要安裝 php 5.2以上版本,並開啟 IURS 和 Network System權限,
(開啟權限部分指 Win 7 系統,公司電腦用 Win 7 ...)
然後正常的話,只要把下載的檔案丟到 IIS 預設路徑下應該就好了。
但如果沒好的話...請先觀察狀況,通常會出現 Internal Server Error,
都是自己電腦某些地方沒有設定好,
但 Internal Server Error 所暗示的錯誤實在太多種,
如果不知道只能去 Google,然後一個一個照著試,
是還蠻浪費時間的...@_@
最近突然被告知要去研究這東東...也還不知道怎麼回事?
總之就先架設起來了,
要注意的小問題,要把 IIS 管線模式設定成 v4.0整合式,
然後要安裝 php 5.2以上版本,並開啟 IURS 和 Network System權限,
(開啟權限部分指 Win 7 系統,公司電腦用 Win 7 ...)
然後正常的話,只要把下載的檔案丟到 IIS 預設路徑下應該就好了。
但如果沒好的話...請先觀察狀況,通常會出現 Internal Server Error,
都是自己電腦某些地方沒有設定好,
但 Internal Server Error 所暗示的錯誤實在太多種,
如果不知道只能去 Google,然後一個一個照著試,
是還蠻浪費時間的...@_@
2013年3月3日 星期日
Xperia LT28i 手機備份
這禮拜很不巧,手機保護蓋不知道怎麼的掉了,
掉的時候也沒聲音,所以根本不知道掉在哪,
當天朋友就提醒說,廠商可能因為這樣要送修,
到時候更要小心送修後資料全部不見...所以要先備份,
結果正要備份,好了...什麼工具都不行,
從Carbon試到Titanium,連內建的也試過,
最後跑去Sony維修門市去看...想說那邊比較專業應該知道,
結果搞了老半天說了一堆話,總而言之就是: "自己想辦法"
唯一它能處理的就是幫我買一個保護蓋...要5.600
下次買手機...還是換一家好了...至少不要像Sony一堆問題,
重點是維修人員很讓人無奈阿!!!
掉的時候也沒聲音,所以根本不知道掉在哪,
當天朋友就提醒說,廠商可能因為這樣要送修,
到時候更要小心送修後資料全部不見...所以要先備份,
結果正要備份,好了...什麼工具都不行,
從Carbon試到Titanium,連內建的也試過,
最後跑去Sony維修門市去看...想說那邊比較專業應該知道,
結果搞了老半天說了一堆話,總而言之就是: "自己想辦法"
唯一它能處理的就是幫我買一個保護蓋...要5.600
下次買手機...還是換一家好了...至少不要像Sony一堆問題,
重點是維修人員很讓人無奈阿!!!
2013年2月18日 星期一
2013年2月7日 星期四
財產盤點
結束掉最近的專案之後,也準備要迎接過年了,
想說過年前把手邊剩下的財產清點Over掉,
結果一搞就是2-3天...
原因是這次多了很多新財產,
但都是先請款後編號,變成東西已經悄悄的在你辦公室放了不知道多久,
然後你也不知道他到底是該報廢,還是他只是私人物品,
最後幾乎整個辦公室都快翻了過來,
才把編號全部補完...累死人,
終於可以開心無憂慮的放年假囉~~
想說過年前把手邊剩下的財產清點Over掉,
結果一搞就是2-3天...
原因是這次多了很多新財產,
但都是先請款後編號,變成東西已經悄悄的在你辦公室放了不知道多久,
然後你也不知道他到底是該報廢,還是他只是私人物品,
最後幾乎整個辦公室都快翻了過來,
才把編號全部補完...累死人,
終於可以開心無憂慮的放年假囉~~
2013年2月5日 星期二
我負責的第一個專案
最近快處理完一個專案,流程大概是這樣子的...
客戶:上傳.csv檔
公司:處理.csv檔,上傳至資料庫,並依照其他資料庫分派.csv檔個別內容給對應員工
員工:收到分派信後處理,之後回報單位,由專門負責人重新更新資料庫資料
客戶:透過網頁查詢處理結果
而我大概負責的就是:
1.一個網頁給客戶查詢
2.處理客戶上傳的檔案,判斷合法性,然後丟到Informix
3.分派.csv檔內容給相對應的員工,透過Email夾帶.csv的方式
(當然...涉及個資的問題,負責該客戶的員工才能收到資料)
4.一個網頁給予客戶查詢其結果
當然...分派給員工後,他們處理的過程和處理完後資料庫的上傳,
目前不是我在負責的啦=v=
(待續)
客戶:上傳.csv檔
公司:處理.csv檔,上傳至資料庫,並依照其他資料庫分派.csv檔個別內容給對應員工
員工:收到分派信後處理,之後回報單位,由專門負責人重新更新資料庫資料
客戶:透過網頁查詢處理結果
而我大概負責的就是:
1.一個網頁給客戶查詢
2.處理客戶上傳的檔案,判斷合法性,然後丟到Informix
3.分派.csv檔內容給相對應的員工,透過Email夾帶.csv的方式
(當然...涉及個資的問題,負責該客戶的員工才能收到資料)
4.一個網頁給予客戶查詢其結果
當然...分派給員工後,他們處理的過程和處理完後資料庫的上傳,
目前不是我在負責的啦=v=
(待續)
2013年2月4日 星期一
2013年1月29日 星期二
ASP.NET 中使用 JAVASCRIPT判斷副檔名
公司的網路擋東擋西...快沒有部落格可以寫了...
只好來這邊發展,
如提,最近在實作用JAVASCRIPT判斷副檔名,
雖然可以在後端使用 Path.GetExtension()抓取判斷,
但如果上傳的檔案一大...又不是合法的檔名(如影片,ISO等...)
就必須整個檔案上傳至Server端檢驗,
就變得非常麻煩,時間也會花很久,
所以如果在Cilent端就進行檢驗,會減少很多時間的消耗。
以下為程式碼:
<asp:Button ID="Button1" runat="server" Text="上傳" OnClientClick="checkFile()" OnClick="Button1_Click" />
<script src="http://code.jquery.com/jquery-1.4.2.min.js" type="text/javascript"></script>
<script language="JavaScript" type="text/javascript">
var fileSize = 0; //檔案大小
var SizeLimit = 1024; //上傳上限,單位:byte
function checkFile() {
var f = document.getElementById('<%=FileUpload1.ClientID%>').value;
var re = /\.(csv|CSV)$/i; //允許的圖片副檔名
if (!re.test(f)) {
alert("只允許上傳CSV檔");
document.getElementById('<%=FileUpload1.ClientID%>').value = "";
}
}
</script>
這樣就可以在使用者按下按鈕後在Cilent端先檢查副檔名
只好來這邊發展,
如提,最近在實作用JAVASCRIPT判斷副檔名,
雖然可以在後端使用 Path.GetExtension()抓取判斷,
但如果上傳的檔案一大...又不是合法的檔名(如影片,ISO等...)
就必須整個檔案上傳至Server端檢驗,
就變得非常麻煩,時間也會花很久,
所以如果在Cilent端就進行檢驗,會減少很多時間的消耗。
以下為程式碼:
<asp:Button ID="Button1" runat="server" Text="上傳" OnClientClick="checkFile()" OnClick="Button1_Click" />
<script src="http://code.jquery.com/jquery-1.4.2.min.js" type="text/javascript"></script>
<script language="JavaScript" type="text/javascript">
var fileSize = 0; //檔案大小
var SizeLimit = 1024; //上傳上限,單位:byte
function checkFile() {
var f = document.getElementById('<%=FileUpload1.ClientID%>').value;
var re = /\.(csv|CSV)$/i; //允許的圖片副檔名
if (!re.test(f)) {
alert("只允許上傳CSV檔");
document.getElementById('<%=FileUpload1.ClientID%>').value = "";
}
}
</script>
這樣就可以在使用者按下按鈕後在Cilent端先檢查副檔名
訂閱:
文章 (Atom)