ipconfig 指令參數說明

在Windows命令提示字元中(cmd),ipconfig是Windows系統的TCP/IP應用程式指令,其用途為顯示本機電腦的IP位址與相關配置資訊。ipconfig對於網路的故障排除有著重要的作用,其參數指令直覺且易用。

語法:
ipconfig  [/參數]

參數說明:
  • /all
    顯示網路卡的TCP/IP所有完整配置資訊。
  • /renew [adapter]
    用於需重新配置DHCP的網路卡。(此參數只可用於設定為自動DHCP配置IP位址的環境下)
  • /release [adapter]
    要求DHCP釋放(丟棄)網路卡的IP位址。
  • /displaydns
    顯示DNS快取內容。
  • /flushdns
    重新刷新清理DNS快取。
  • /registerdns
    重新註冊(初始化)IP位址與DNS名稱。
  • /showclassid [adapter]
    顯示網路卡的DHCP類別ID。
  • /setclassid [adapter]
    配置網路卡的DHCP類別ID。
  • /?
    顯示ipconfig的參數說明。

讓Chrome瀏覽器支援MaintainScrollPositionOnPostback屬性

MaintainScrollPositionOnPostback主要功能是在Asp.Net的Page中取得或設定值,指出在回傳後是否將使用者返回用戶端瀏覽器中的相同位置。簡單的說就是讓頁面在PostBack後還能保持頁面位置。

即使我們在Page中設定了MaintainScrollPositionOnPostback為True,但在最近市佔率越來越高的Chrome這個以速度快著名的Goolge瀏覽器卻是失效了。

自己在遇這個問題後,在Google找到此站提供的方式解決了我的問題:
讓Chrome瀏覽器支援Asp.Net的MaintainScrollPositionOnPostback
但此網頁已失連許久,也在Google找不到相同提供解決方法的網頁(也許有,我沒找到)。因此特地在此記錄並提供給有遇到同樣問題的朋友一個解決的辦法。

解決方法:
首先在Asp.Net中新增一個瀏覽器定義檔,我們要使用這個定義檔來根據不同瀏覽器設定不同運行環境參數。
2010-05-03_213205 
.browser建立後預設會放在App_Browesers資料夾中。打開.browser後將以下程式碼直接複製貼上:

<browsers>
    <browser id="Safari3" parentID="Safari1Plus">
        <identification>
            <userAgent match="Safari/\d+\.\d+" />
        </identification>
        <capture>
            <userAgent match="Version/(?'version'\d+\.\d+)" />
        </capture>
        <capabilities>
            <capability name="browser" value="Safari3" />
            <capability name="version" value="${version}" />
        </capabilities>
        <controlAdapters>
            <adapter controlType="System.Web.UI.WebControls.Menu"
                     adapterType="" />
        </controlAdapters>
    </browser>
    <browser id="GoogleChrome" parentID="Safari3">
        <identification>
            <userAgent match="Chrome/(?'version'\d+\.\d+)" />
        </identification>
        <capabilities>
            <capability name="browser" value="Googlebot" />
            <capability name="supportsMaintainScrollPositionOnPostback" value="true" />
        </capabilities>
    </browser>
</browsers>


上面這段程式碼原本主要的用途是用來解決Asp.Net中的Menu控制項,在Chrom與Safari瀏覽器下顯示不完全的問題。詳情可以參考:最簡單的方法,讓 ASP.NET Menu 控件在 Google Chrome 瀏覽器上正常顯示

按照原作者的方法直接在GoogleChrome的定義中加入這一行程式碼:
<capability name="supportsMaintainScrollPositionOnPostback" value="true" />

如此即可解決MaintainScrollPositionOnPostback在Chrome瀏覽器失效的問題了,可謂一舉兩得。

解決FileUpload上傳超過4M大檔案時瀏覽器出現錯誤訊息

在Asp.Net中若使用FileUpload控制項實作檔案上傳時,除了在上傳按鈕事件中可以使用FileUpload.PostedFile.ContentLength來取得檔案大小來限制使用者上傳檔案大小之外,另外一個我們都會遇到的必需去解決的課題,是在Asp.Net環境中系統預設了最大上傳容量為4M(4096KB)。因此若網站User在上傳的檔案超過4M瀏覽器就會出現錯誤訊息,而User殊不知是自己上傳了過大檔案導致,以為是系統故障了。

Asp.Net會有此一限制,是為了能夠避免『分散式阻斷服務攻擊』(DDoS),免去一些在不懂資安情況之下得到最小限度的保護措施。

既然系統幫我們預設了最大上傳,當然爾我們也可以依照個人不同需求來調整這個預設值。設定的方法很簡單,我們只需在Web.Config檔中指定

httpRuntime項目的屬性即可。
<system.web>
    <httpRuntime executionTimeout = "1800" maxRequestLength="100000" />
</system.web>


executionTimeout
屬性:以秒為單位,代表網頁執行期間所需執行最大秒數(預設是90秒),若網頁執行超過設定值時間會發生TimeOut的情況。
maxRequestLength屬性:以KB為單位,指定輸入資料流緩衝臨界值的限制,也就是我們所需指定允許最大上傳容量設定值(預設值為4096KB)。

補充:
若需自訂超過檔案限制大小時瀏覽器出現錯誤時的頁面,可於Web.Config中設定customErrors項目,自行指定錯誤發生時所需顯示的頁面:
<customErrors mode="On" defaultRedirect="ErrorPage.aspx" />



更多內容可參考:
ASP.NET 無法上載大型檔案(大於 4MB)
ASP.NET 當上傳檔案過大時任何回應瀏覽器的動作都無效

[Tips] 在Asp.Net中替VB.Net一次多行註解

使用VB.Net寫Asp.Net的人一定都知道要註解VB程式碼的方法,直接在要註解那行程式碼最前端加上 ' 號。

使用C#可以使用 // 來註解單行,亦可使用 /*  */ 來包覆程式碼達到多行註解的功能。那VB如何使用多行註解?很抱歉…VB並不支援多行註解。雖然如此,VB的Programmers也無需過於擔心,若使用的開發軟體為Vistual Studio ,就不需要自己一行一行手動Key ' 號註解了。

VB.Net多行註解方法:
在Vistual Studio上方工具列可以找到如下圖『註解選取行』的按鈕
2010-04-29_214952


若沒找到,試著從檢視→工具列→文字編輯器,將其工具列打開
2010-04-29_215106


OK!接著就是將欲註解的程式碼反白後,直接按下『註解選取行』按鈕
2010-04-29_215212


最後結果所有被反白的程式碼都加上了 ' 號註解了,非常容易又方便呀!
2010-04-29_215253


取消多行註解的方式也一樣,反白程式碼後點擊『取消註解選取行』按鈕即可。
2010-04-29_215334


或想自己使用Alt+左鍵選取區塊的方式將多行註解選取起來再按下Del鍵刪除也可,看個人習慣囉!
2010-04-29_220336

[Tips] 移除ViewState值的兩種寫法

VB.Net寫法:

1、將ViewState("Test")值移除

ViewState.Remove("Test")

or

2、ViewState("Test")值設為Null
ViewState("Test") = DBNull.Value

想做你的CODE:Vistual Studio 2010全球發佈會宣傳影片

想做你的CODE』:更痛快地CODING,給愛更多好心情……

Programer時最容易犯的毛病,除了CODING卻忽略身邊太多的事物,這挺符合Vistual Studio強調的快速開發。


解決Asp.net網站佈署至國外虛擬主機日期格式不同的問題

若您與我一樣使用的是國外虛擬主機運作Asp.Net網站,可能需要注意一下在不同語系的Server系統上,會產生不同日期格式的問題。由於國外虛擬主機用的是英文版的Windows Server,網站中若有使用到DateTime抓取系統時間也會自動顯示為國外的日期格式。

雖然DateTime可加上ToString來自訂日期格式,如DateTime.ToString("yyyy/MM/dd HH:mm:ss"),但某些Asp.Net的extender也會跟著系統的語系顯示不同語系,如Ajax ControlToolKit 的CalendarExtender。

要避免此問題最方便的方法是直接在Web.Config檔案中指定網站程式預設語系為zh-Tw(中文)語系。

設定方法:
在Web.Config檔中加入
<system.web>

      <globalization culture="zh-TW' />

</system.web>

如此不管使用的運行的Server語系為何,網站都會以中文語系顯示了。

設定Html編輯器FreeTextBox在Enter換行時為<br>

最近在一個專案中使用了免費版的FreeTextBox線上Html編輯器,發現的問題是在FreeTextBox編輯內容按下Enter鍵換行時,不同瀏覽器下的換行行距會有所不同。

以下為各瀏覽器在FreeTextBox下Enter鍵預設輸出的語法:
Firefox → <br>
Chrome → <div>
IE8 → <p></p>
Opera → <p></p>

顯然的IE8與Opera的<p>段落即為造成換行行距過大的問題所在。因不可能告知所有網站User要換行請使用Shift+Enter來產生<br>換行,我希望找到方法使得Enter預設值可由<p>段落改為使用<br>換行語法。

在FreeTextBox中有個屬性值為BreakMode說明文件對屬性解釋如下:
.BreakMode
Sets   what   happens   when   the   "Enter"   key   is   pressed.   Options   are   LineBreak   (IE   and   Mozilla)   and   Paragraph   (IE   only)


FreeTextBox的BreakMode預設值為Paragraph(段落),因此只要設定BreakMode="LineBreak" 即可將預設<p>更改為<br>。

根據說明文件可以得知設定LineBreak模式只能影響IE與FireFox瀏覽器,在Chrome及Opera是無效的,這點需要特別注意一下。