2014年6月4日 星期三

在UpdatePanel裡面隱藏的Panel裡面的東西不會出現在原始碼??

遇到神奇的情況...

我檔案庫的介面,左邊是樹狀圖,右邊是表格,這兩者外面用一個UpdatePanel包住,因為按樹狀圖上面的東西後需要更新右邊的表格,不希望它是full postback 不然會一直閃。

然後因為介面的需要,我把右邊的表格放進一個Panel (Panel_File),因為一開始進入的畫面要看到另一個主要Panel的內容(Panel_Main),假如按下左邊的檔案樹,才會隱藏Panel_Main,顯示Panel_File。所以一開始就設定 Panel_File.Visible = "False"

狀況來了,現在我在 Panel_File裡面的元件前台頁面有包含javascript,實際在執行的時候卻發現根本沒有載入,以至於無法抓到 javascript 的 function ! 研判是因為一開始 Panel_File.Visible = "False" ,程式送出HTML結果時這一塊完全不會載入,但是當後面的流程使Panel_File.Visible = "True" 之後,卻因為它是在 UpdatePanel 裡面,所以只載入部分的更新 !?

----------------------

這搞了我好久,後來想到一個辦法 : 不要用Panel,改用div

<div runat="server" id="div_file" style="display:none">

</div>

這樣就解決了! 因為這樣做,在一開始依然會送出div_file內所有內容,但是瀏覽器顯示時會依照style="display:none"再把它隱藏起來。需要顯示的時候就這樣:

div_file.Style.Add("display", "block");



2014年5月21日 星期三

ASP.NET 下載檔案功能

一切都是站在巨人肩膀,網路上尋找的解答! 在此將我的應用細節記錄下來。

我製作的系統內有類似檔案總管的功能,左邊TreeView搭配右邊GridView將檔案列出來。希望在GridView列出的檔案上面有按鈕可以下載該檔案。


最後有出現一個錯誤The message received from the server could not be parsed. 無法剖析從伺服器收到的訊息 ...

2014年5月5日 星期一

帶點稜角才能擦出火花

其實小月不是我理想型的女朋友,但她是很「適合」我的女朋友!

不諱言,前任女友比較接近我的「理想型」。(她快要結婚了,恭喜她!還好當初沒有繼續耽誤她XD)

她溫柔、不多話、順服,有情緒會先想辦法自己處理完,再用比較平靜的樣貌出現在別人面前。跟她相處起來會很輕鬆、沒有壓力,因為知道她不太會生氣,其實就跟我的個性相當類似。我非常不喜歡衝突,所以跟另一個不愛衝突的人在一起,世界和平,簡直太棒了。

但後來比較成熟了,才知道這樣的組合根本是場災難。和她在一起的兩年中幾乎沒有吵過架,隨時都可以呈現相處的還不錯的樣子,但不會吵架背後殘酷的事實是:不會解決問題。

我到分手後才聽說,很長一段時間她一直因為我的某些問題,而覺得這段關係很痛苦。其實我也大概知道這問題,但卻不覺得是個大問題,更不知道她其實過得很痛苦。為什麼?因為她的脾氣實在太好了,她不是沒有表達感受,但溫柔的表達,讓嚴重的事情好像變得沒那麼嚴重。甚至我可以想像她總是在忍耐、等候事情改變,把難過往肚裡吞...。而我害怕衝突的個性,壞的那一面就是鴕鳥心態。表面上的情緒解決了、回到和平的狀態,似乎問題就解決了;就算知道沒有解決,也可以放著、拖著,反正沒有立即的威脅。

-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

至於小月呢?交往前我知道這個女生情感比較豐富,但是我認為自己能夠承受相當大的情緒衝擊,應該沒問題的啦。交往後沒多久才知道上了賊船...不是啦,是比我想像中的恐怖一點點~

小月是個大剌剌的女孩,很直接、率真,平常也會說自己笑得很大聲,好像很沒氣質。(有時候還是很有氣質啦,至少在相片裡是^^)所以我不太需要擔心「沒查覺到對方心情不好」的情況,因為通常可以很容易的知道...。面對對方的情緒時我自然會想要耐心以對,根據以前的經驗似乎覺得耐心、和氣就可以解決所有問題,但事實上,常常心裡會很自然的也被激起一波情緒想要反彈回去。但是「把情緒反彈回去」對我來說很困難,因為我很害怕衝突,我不知道要怎麼吵架,有情緒的話到了嘴邊就會變得千斤重說不出來。每次面對衝突時常會內心交戰:如果我也發脾氣回應,對方就知道我的厲害了,我有很多理由可以不必受氣,我也可以很直白的表達我的感受。但是每次又都會想,我發脾氣的代價可能是雙方更疏遠、不信任、帶來需要花更多力氣撫平的傷痕,所以每次又都無法發脾氣。

該如何在溫和以及直接表達這兩者之間取得平衡,我也不知道,或許我的頭腦運作就是非常緩慢所以一定要處理很久...(這篇文章打到這附近的時候就卡了很久)。但至少在跟小月的相處中我感到很「真實」-有問題的時候一定會攤出來溝通,不會隱藏,有時候我也被逼得必須要快點整理出內心的想法。雖然小月的情緒有時候像夏天的午後雷陣雨,讓我措手不及,但放晴得也快,我們吵架通常不會拖過兩天,每次和好也會覺得更敞開、信任對方一點。所以我覺得這個組合很不錯~就是互補吧!希望以後繼續變得更成熟...

2014年4月13日 星期日

《你們在教我孩子什麼》筆記 (1)

第二章 p.76~77


「因為起伏波動是從三個月大時就開始,一直到停經為止,女性的神經實際狀況就是不如男性那樣穩定。男性就像一座山,幾乎察覺不到經歷千年的冰河、天氣以及地球深層板塊運動所造成的耗損。而女性則像天氣本身--持續變動且難以預測。」--LouAnn Brizendine(神經醫學專家)
女性主義者認為是因為父權的框架使女人被壓迫,無法成為領導者。事實上是男女的天生差異,男人比較適合扮演領導者,需要穩定的情緒做決策。「父權」造成的負面影響當然需要導正,但不是異想天開的認為男女什麼都平等。跳脫男女來說,每個人本來就是依據自己生理、心理的特質扮演合適的角色,所以也有些女人是領導者,有些男人也可以當溫柔的護士,只是會是少數。


第二章 p.77~87
「別讓男孩子擁抱妳,除非妳打算信賴他。」--LouAnn Brizendine(神經醫學專家)

2014年4月1日 星期二

4/1 彭明輝教授演說 聽後心得


今日CAE組有幸邀請到彭明輝教授於seminar發表演說,而我也慕名前往聆聽。在這之前我對彭教授並無太多了解,而今天了解到他擁有清楚的理想、關懷人群的熱誠同時冷靜思考、對每個議題認真研究,光這些點來說,我便覺得他是一位值得尊敬的人。


彭教授的理想,簡單來說應是比較偏向社會主義的正義,財富合理分配,而非弱肉強食的剝削。從教育著手,便是大學教育應當培養「領導者」-具有宏觀視野、自主學習、開創新局、為社會服務的能力,而非現在偏向較狹窄的學習單一技能、為自己的事業打拼。這些也是他今天勉勵台大學生去達到的。


不過,彭教授多次使用偏激性詞語,例如評論馬英九「IQ較低」、「白癡」、「高功能自閉症」,批評對外談判代表的能力低落,應當給他們戴狗的口罩,或是認定中國就是絕對邪惡政治體等等。當然這使聽眾相當滿意、哄堂大笑,或許是演講的節目效果,但這不免使我質疑彭教授的公正以及真正的理性思考,或思考的深入程度。假若只是節目效果,應該會在效果之後做一些平衡的論述,但今天並沒有聽到。若不是節目效果,那我便覺得彭教授的思考並不夠深入。或是其實彭教授的思考深入,但情願以情緒化表述,那我便不予置評。


我認為所有政治人物之所以做出匪夷所思的行為並不是因為他的本質就蠢笨或邪惡,而是因為在攀爬權位的過程中不斷被整體結構影響而必須有所扭曲(這使我想起當兵時聽長官罵人到的一句話:「不是環境來適應你,是你要去適應環境!」)。另一個角度來說,我們之所以會覺得他蠢笨或邪惡,正是因為我們並沒有身在其位,而是在一個相對單純的環境中,以至於我們能保有較多的理想與良心。太陽花的年輕人如是,身為學者的彭教授亦如是。我們並沒有身在其位,政治人物又不會對你說實話,實在很難想像一個在高位者背後有多少勢力勾結、談判妥協。我們覺得「不懂」,匪夷所思,然後就以一句「白癡」帶過,認為把這個白癡解決了,換上一個正常人,許多問題就解決了。我不以為然,我認為是結構的問題,不管誰進入這個結構、上到這個位置,都有極高的機率變成白癡。今日的林飛帆、陳為廷有如耀眼的明日之星,當年的陳水扁、馬英九又何嘗不是?

2014年3月31日 星期一

CSS學習筆記: 位置

CSS positioning

參考: http://www.w3schools.com/css/css_positioning.asp

static: 預設值。

fixed: 可指定相對於瀏覽器的座標,隨瀏覽器大小改變,此元素會從其他元素獨立出來不受影響,也就是不會跟著捲動。

relative: 此元素仍然屬於正常排列中的一份子,可指定相對於自己原本應該佔有之處的位移。注意: 原佔有處依然會佔有,也就是說位移之後,自己原本的位置會留白,別的元素不會進來。

absolute: 可指定相對於第一個父元素的位移。父元素的position屬性必須是除了static以外的屬性。


overflow屬性

visible: 此為預設值。內容若超過方塊大小,則會溢出,顯示到方塊外面。

hidden: 超出範圍的內容就看不到,也不能捲動。

scroll: 以捲動軸瀏覽超出範圍的內容。



2014年3月27日 星期四

在主版頁面中引用javascript 相對路徑的問題

Relative path issue when importing javascript in master pages

在我的某個主版頁面引入jQuery檔案時,莫名其妙的無法載入。
有以下這段話:
Master pages inherit the path of the page that includes them, so the relative path to the jquery .js file is different, for different pages.
解釋 : 主版頁的真實出現的地方其實是使用主版頁的該頁面。概念應該是內容頁「引用」 了主版頁面,而不是「裝進」了主版頁。換言之,實際上是以內容頁為主體。(用中斷點實驗可以得知,是先載入Page然後才載入Master)

做了實驗,修改相對路徑之後就可以載入了,似乎就是這麼回事。

實際案例

資料夾結構如下,有中括號的代表資料夾
  • [ Master ]
    • Admin.master
  • [ Pages ]
    • [ Admin_pages ]
      • abc.aspx
  • [ Scripts ]
    • jquery-2.1.0.js

假設abc.aspx使用Admin.master作為他的主版頁面。我現在要在Admin.master裡面引入jquery,直覺是這樣 <script   src="../Scripts/jquery-2.1.0.js"   type="text/javascript"></script>

因為[Scripts]資料夾是相對於Admin.master的上一層。但是開啟abc.aspx時就會錯誤,因為[Scripts]資料夾是相對於abc.aspx的上二層,若要正確必須要改成這樣

<script   src="../../Scripts/jquery-2.1.0.js"   type="text/javascript"></script>


如果用下面這種方法似乎就一勞永逸。
<script  src='<%= ResolveUrl("~/Scripts/jquery-2.1.0.js")%>'   type="text/javascript"></script>

不過這行放在<head></head>裡面又會有別的錯,(無法修改 Controls 集合,因為控制項包含程式碼區塊... ...)  目前還懶得研究。