Asp.net編程技巧兩則:
1、我們很多時候需要在後代碼裡面跳轉網頁(不僅僅是各種超連結),比如註冊成功、提交表單成功等,這樣的意義在於避免重新整理網頁時資料被多次提交!我們就可以在後代碼中使用如下語句:
Response.Redirect("boylogin.aspx")
或者使用
url="boylogin.aspx"
Response.Redirect(url)
但是,這樣的跳轉只能在當前視窗中開啟新網頁。然而我們經常需要在新的視窗中開啟新網頁,怎麼辦?我在網上搜尋了一下,對這個問題多數人的解決方案是使用javascript編程。其實,只要在表單form中加入target=”_blank”即可,即:
<form runat="server" target="_blank">
2、asp.net驗證控制項是保證資料有效性和重要措施之一,比如防止對資料庫注入式攻擊,我們就可以限制使用者輸入字元的種類,比如只允許輸入“字母、數字、和底線”,我們可以這樣寫驗證Regex:
<asp:TextBox ID="password" runat="server" TextMode="Password" width="120"/>
<asp:RequiredFieldValidator id="Requiredfieldvalidator2" runat="server" NAME="Requiredfieldvalidator4" Display="None" ErrorMessage="密碼必須填寫" ControlToValidate="password"></asp:RequiredFieldValidator>
<asp:regularexpressionvalidator id="rep2" runat="server" ControlToValidate="password" ValidationExpression="[a-zA-Z0-9_]{6,18}" ErrorMessage="只能輸入字母、數字、和底線!,並且長度是6-18!" Display="None"/>
但是問題可能表單中有很多個按鈕,有的按鈕我不希望啟用對這些控制項的驗證(或者說這些按鈕和這些控制項無關),但卻提交就會驗證,其實很簡單!
只要在不想驗證控制項的按鈕中加入CausesValidation="false"即可,如:
<asp:Button ID="btnAdd" runat="server" Text="提交" CausesValidation="false"></asp:Button>