此範例是用ListBox當例子
由於案子需求,需要變更ListBox中某幾項的底色
For Each row As ListItem In
ListBox .Items
If 條件 Then
row.Attributes("style") = "background-color:#DCDCDC"
End If
Next
但該方法有個問題就是每次AutoPostBack後顏色會消失
所以建議寫在共用FUNCTION中每次刷新時呼叫
搜尋此網誌
2012年7月3日 星期二
2012年7月2日 星期一
關於使用ModalPopupExtender來製作popup視窗
在aspx中宣告
1.<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="asp" %>
2.
<asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server"
TargetControlID="觸發的按鈕名稱"
BackgroundCssClass="popupBackground"
PopupControlID="Panel名稱"
DropShadow="true" >
</asp:ModalPopupExtender>
假如你是要在開啟的popup視窗中先做事件在開
那麼這邊是建議
先製作一個LinkButton
<asp:LinkButton ID="LModal" runat="server"></asp:LinkButton>
此LinkButton在畫面上是看不到是給asp:ModalPopupExtender 使用而以
3.
假如你的程式有包UpdatePanel的話
那麼請記得Panel中也要包
否則欄位會有異常狀況
筆者之前碰過不是打不開不然就是值沒有塞進去
在VB
Button事件中
Protected Sub Button名稱_Click
(ByVal sender As Object, ByVal e As EventArgs) Handles Button 名稱.Click
ModalPopupExtender1.Show() <--開啟popup
end sub
關閉popup則是執行
ModalPopupExtender1.Hide()
1.<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="asp" %>
2.
<asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server"
TargetControlID="觸發的按鈕名稱"
BackgroundCssClass="popupBackground"
PopupControlID="Panel名稱"
DropShadow="true" >
</asp:ModalPopupExtender>
假如你是要在開啟的popup視窗中先做事件在開
那麼這邊是建議
先製作一個LinkButton
<asp:LinkButton ID="LModal" runat="server"></asp:LinkButton>
此LinkButton在畫面上是看不到是給asp:ModalPopupExtender 使用而以
3.
假如你的程式有包UpdatePanel的話
那麼請記得Panel中也要包
否則欄位會有異常狀況
筆者之前碰過不是打不開不然就是值沒有塞進去
在VB
Button事件中
Protected Sub Button名稱_Click
(ByVal sender As Object, ByVal e As EventArgs) Handles Button 名稱.Click
ModalPopupExtender1.Show() <--開啟popup
end sub
關閉popup則是執行
ModalPopupExtender1.Hide()
GridView 中 RadioButton單選(後端)
基本上GridView中的AutoPostBack 事件皆可使用
前端ASPX
1.包asp:UpdatePanel
<asp:UpdatePanel ID="UpdatePanel12" runat="server" >
<ContentTemplate>
</ContentTemplate>
</asp:UpdatePanel>
2.在GridView的RadioButton裡宣告OnCheckedChanged,AutoPostBack="true"
EX:OnCheckedChanged="opt_CheckedChanged" AutoPostBack ="true"
後端
Protected Sub
opt_CheckedChanged (ByVal sender As Object, ByVal e As EventArgs)
Try
Dim tempRadioButton As New RadioButton
tempRadioButton = CType(sender, RadioButton)
Dim gvRow As GridViewRow
gvRow = CType(tempRadioButton.NamingContainer, GridViewRow)
If Not (gvRow Is Nothing) Then
Dim index As Integer = gvRow.RowIndex
For i As Integer = 0 To
GridView名稱.Rows.Count - 1
If i <> index Then
If CType(
GridView名稱.Rows(i).Cells(0).FindControl("RadioButton名稱"), RadioButton).Checked Then
CType(
GridView名稱 .Rows(i).Cells(0).FindControl("
RadioButton名稱 "), RadioButton).Checked = False
End If
End If
Next
End If
Catch ex As Exception
End Try
End Sub
UserControl事件觸發然後執行父網頁事件
UserControl 中宣告
Public Delegate Sub Parent_EventHandler(ByVal sender As Object, ByVal e As System.EventArgs)
Public Event UsercontrolSelectEvent As Parent_EventHandler
然後在要觸發的事件中宣告
EX:
Protected Sub DropDownList名稱 _SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles DropDownList名稱.SelectedIndexChanged
RaiseEvent UsercontrolSelectEvent(sender, e)
End Sub
在使用UserControl 的VB中
Page_Load裡宣告
AddHandler Me.UserControl名稱.UsercontrolSelectEvent, AddressOf UsercontrolSelectEvent_proc
然後事件即可使用
Private Sub UsercontrolSelectEvent_proc(ByVal sender As Object, ByVal e As System.EventArgs)
End Sub
參考:
http://blog.xuite.net/sugopili/computerblog/43063784-UserControl%E5%82%B3%E5%80%BC%E3%80%81%E5%9F%B7%E8%A1%8C%E7%88%B6%E7%B6%B2%E9%A0%81%E4%BA%8B%E4%BB%B6
訂閱:
文章 (Atom)