<p>原來預計是想上一篇就把它寫完的(應該是審視一下程式碼以後,發現重複的地方太高了),不過感覺還是有點長(賺篇幅),就在這一篇繼續把它寫完吧。</p>
<p>6. 字串與時間的處理:最常用到的應該是DateTime.Parse(),不過大家都知道,不要想預期的字串一定會進來(笑),然後就會System.ArgumenException摟。在不想做try-catch的方式下,其實還有很多method可以選擇:DateTime.ParseExact(),這個可以handle沒法轉換的情況,DateTime.TryParseExact()除了有ParseExact()的錯誤處理以外,還可以回傳是否轉換成功,這對於塞資料庫時使用參數傳遞的方式,當轉換錯誤時會有參數錯誤的情形,可以有個解套。</p>
1 | IFormatProvider ifp = new CultureInfo("zh-TW", true); |
<p>7. ASP.Net AJAX Enabled的網頁要做Server-Side Javascript:當在使用ASP.Net AJAX Framework到網頁上,有許多好用的控制項。但是有時候還是想要使用自定的Javascript(如window.open()),可能會使用到Response.Write()送出Server-Side Javascript,會發生下面的錯誤。</p>
<p><img height=”122” width=”739” src=”http://e.blog.xuite.net/e/2/3/2/11844378/blog_1638788/txt/34736652/5.png" border=”0” /><br />可以看到大概的意思,不能呼叫類似改變輸出的method。找了一下網路,發現到有解決的<a target=”_blank” href=”http://yaneshtyagi.blogspot.com/2007/10/redirecting-to-new-window-in-c.html">Solution</a>,相關程式碼如下。 </p>
1 | public static class ResponseHelper { |
<p>所以只要呼叫ResponseHelper.Redirect()就能夠跳出新視窗了。</p>
1 | ResponseHelper.Redirect("./HTMLPage.htm?STK=" + ret,"_blank", "height=600, width=800, resizable=no, toolbar=no, menubar=no, scrollbars=yes, location=no, status=no"); |
<p>8. 讓有MasterPage的網頁暫時不要有MasterPage:其實這算Dirty Hacking啦,就是根據一定的需求,去改Page.MasterPageFile,做一個是空的MasterPage,動態指定即可。要記得指定MasterPageFile要在Page_PreInit()裡改變,要不然會有錯誤喔。</p>
1 | protected void Page_PreInit(object sender, EventArgs e) |
<p>9. 做可以讓GridView的CheckBox全選的方法:這個東西網路上很多,就是要在原GridView設TemplateField,並且把相關的CheckBox放上去。</p>
<p><img height=”256” width=”797” src=”http://e.blog.xuite.net/e/2/3/2/11844378/blog_1638788/txt/34736652/6.png" border=”0” /></p>
<p>接下來是SelectAllCheckboxes(),寫在網頁的最下方。</p>
<pre class=”brush: jscript;”>function SelectAllCheckboxes(spanChk) {
elm = document.forms[0];
for (i = 0; i < elm.length; i++) {
if (elm[i].type == “checkbox” && elm[i].id != spanChk.id) {
if (elm.elements[i].checked != spanChk.checked)
elm.elements[i].click();
}
}
}
1 |
|
<p>10. 避掉存取其他Web Services時憑證的錯誤:這個的問題是,要存取某些Web Services,但是該Services的IIS憑證是錯的,如果直接用的話,會發生錯誤。當然最好的方法是申請與安裝新的憑證,但是有時候太急的話可能要先處理一下。網路上找呀找,發現我之前就有找過類似的<a target=”_blank” href=”http://blog.xuite.net/retsamsu/diary/29392339">問題</a>了,不過還是分享一下C#的方式。</p>
1 | public static bool ValidateServerCertificate( |
<p>待續…</p>