1 ajax 的tabcontrol
在ajax 1.0中,有的tabcontrol是非常不錯的了
<cc1:TabContainer ID="TabContainer1" runat="server" OnClientActiveTabChanged="ActiveTabChanged" Height="150px">
<cc1:TabPanel ID="TabPanel1" runat="server" HeaderText="第1頁">
<ContentTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text="第1頁中的TextBox"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" />
</ContentTemplate>
</cc1:TabPanel>
<cc1:TabPanel ID="TabPanel2" runat="server" HeaderText="第2頁">
<ContentTemplate>
<asp:Calendar ID="Calendar1" runat="server"></asp:Calendar>
</ContentTemplate>
</cc1:TabPanel>
<cc1:TabPanel ID="TabPanel3" runat="server" HeaderText="第3頁">
<ContentTemplate>
<asp:UpdatePanel runat="server">
<ContentTemplate>
<br>此頁面被UpdatePanel所包覆<br>
<asp:TextBox ID="TextBox3" runat="server" Text="第3頁中的TextBox" />
<asp:Button ID="Button3" runat="server" Text="Button" />
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</cc1:TabPanel>
</cc1:TabContainer>
可以看到,一個tabcontrol裡,有不同的tabpannel,就是“頁”了,很簡單,要注意,設定了OnClientActiveTabChanged的javscript事件,
是在切換頁之間時做的
<script type="text/javascript">
function ActiveTabChanged(sender, e) {
var CurrentTab = $get('<%=CurrentTab.ClientID%>');
CurrentTab.innerHTML = sender.get_activeTab().get_headerText();
}
</script>
這段的意思是顯示目前使用者選擇的是第幾頁
2 nobot控制項
電腦機器人,防止人為惡意攻擊頁面
CutoffWindowSeconds="60" 設定一個時段區間(單位:秒),與utoffMaximumInstances參數一起使用。
CutoffMaximumInstances="5" 與 CutoffWindowSeconds參數一起使用,例如在60秒內若超過5次讀取此頁面,將被判定為程式所為。
ResponseMinimumDelaySeconds="2" 頁面合理的最低Postback時間(單位:秒),低於此時間Postback此頁面將被判定為程式所為。(不是人做的)
OnGenerateChallengeAndResponse="驗證函式名稱"
後台判斷邏輯代碼
If IsPostBack = True Then
Dim NoBotState As AjaxControlToolkit.NoBotState
'驗證並取得狀態
If NoBot1.IsValid(NoBotState) = True Then
Label1.Text = ""
Else
'檢查狀態
Select Case NoBotState
Case AjaxControlToolkit.NoBotState.InvalidAddressTooActive
Label1.Text = "在指定的時間內訪問太多次,判定為程式所為"
Case AjaxControlToolkit.NoBotState.InvalidResponseTooSoon
Label1.Text = "在指定的時間內訪問太多次,判定為程式所為" '"在太短的時間內響應此網頁,判定為程式所為..."
Case Else
Label1.Text = "其它錯誤"
End Select
End If
End If
3 password密碼強度控制項
TargetControlID="要進行密碼強度驗證的Textbox控制項ID"
DisplayPosition="提示資訊顯示位置"
StrengthIndicatorType="強度的體現方式(Text / BarIndicator)"
PreferredPasswordLength="建議密碼長度"
PrefixText="提示文字開頭"
HelpStatusLabelID="輸入提示LLabel控制項ID"
MinimumNumericCharacters="設定密碼中最少要有幾個數值字元"
MinimumSymbolCharacters="設定密碼中最少要有幾個符號字元"
RequiresUpperAndLowerCaseCharacters="設定密碼中是否一定需要大小寫都包含"
TextStrengthDescriptions="驗證結果文字,最少兩個最多10個"
4 modalpopup控制項
這個控制項的目的是可以彈出一個視窗,但彈出後,頁面其他部分是變灰色的,不可用,當使用者做出選擇後,才可以用,十分好的效果
用法:
TargetControlID="設定哪一個控制項要具有調用彈出式交談視窗的功能"
PopupControlID="作為彈出式視窗的Panel控制項ID"
BackgroundCssClass="彈出式視窗背景畫面CSS,可利用CSS設定為灰黑色半透明背景"
DropShadow="是否繪製陰影(true/false)"
OkControlID="彈出式交談視窗的Ok按鈕ID"
CancelControlID="彈出式交談視窗的Cancel按鈕ID"
OnOkScript="當點擊Ok按鈕後要執行的JavaScript"
OnCancelScript="當點擊Cancel按鈕後要執行的JavaScript"
PopupDragHandleControlID="作為彈出式視窗拖拽標籤的控制項ID"
前端代碼
<asp:Label ID="Label1" runat="server" Text="按此Label觸發交談視窗" BorderStyle="Ridge" BorderWidth="1px"></asp:Label><br />
</div>
<asp:Panel ID="Panel1" runat="server" Height="168px" Width="296px" BackColor="WhiteSmoke" style="display: none" BorderColor="#0000C0" BorderStyle="Solid" BorderWidth="1px" HorizontalAlign="Center">
<span style="color: #ffffff">
</span>
<asp:Label ID="LBL_Title" runat="server" BackColor="Blue" Font-Bold="True" ForeColor="White"
Style="text-align: left" Text="標題" Width="100%"></asp:Label><br />
<br />
<asp:Label ID="Label2" runat="server" ForeColor="Black" Height="72px" Text="您確定要這麼做?"
Width="100%"></asp:Label><br />
<table style="width: 100%">
<tr>
<td align="right">
<asp:Button ID="btn_OK" runat="server" Text="確定" />
<asp:Button ID="btn_Cancel" runat="server" Text="取消" /></td>
</tr>
</table>
</asp:Panel>
<cc1:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID="Label1">
</cc1:ModalPopupExtender>
邏輯代碼後台:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'設定哪一個控制項要觸發(顯示)交談視窗
Me.ModalPopupExtender1.TargetControlID = Me.Label1.ID
'設定交談視窗
Me.ModalPopupExtender1.PopupControlID = Me.Panel1.ID
'當交談視窗出現時的背景樣式
Me.ModalPopupExtender1.BackgroundCssClass = "modalbackground"
'是否要繪製陰影
Me.ModalPopupExtender1.DropShadow = True
Me.ModalPopupExtender1.OkControlID = btn_OK.ID
'設定當點擊OK鈕時,要執行的前端JavaScript代碼
Me.ModalPopupExtender1.OnOkScript = "onOK()"
Me.ModalPopupExtender1.CancelControlID = btn_Cancel.ID
Me.ModalPopupExtender1.PopupDragHandleControlID = LBL_Title.ID
'也可以通過Show方法來調用
'Me.ModalPopupExtender1.Show()
'在頁面上註冊一段JavaScript,點擊OK鈕時會調用到
Dim js As String
js = "<script>"
js += "function onOK(){"
js += "alert('你選擇OK');"
js += "}"
js += "</script>"
Me.ClientScript.RegisterStartupScript(GetType(String), "first", js)
End Sub