搜尋此網誌

2013年6月4日 星期二

推薦文章Blogger(小朱® 的技術隨手寫-邁向架構師的暖身運動)

寫得很好,不管是不是邁向架構師,裡面的一些觀念在開發專案上都是有幫助的
下面是整理過後的連結,有興趣的可以看看

小朱® 的技術隨手寫


http://www.dotblogs.com.tw/regionbbs/archive/2009/05/15/interfaceorienteddesign.aspx
http://www.dotblogs.com.tw/regionbbs/archive/2009/05/18/abstract-ability-for-architect.aspx
http://www.dotblogs.com.tw/regionbbs/archive/2009/07/06/architecture_decision_making.aspx
http://www.dotblogs.com.tw/regionbbs/archive/2009/07/16/ruleandvalidator.aspx
http://www.dotblogs.com.tw/regionbbs/archive/2009/09/12/tieredapplicationconcepts.aspx
http://www.dotblogs.com.tw/regionbbs/archive/2009/12/24/logging.aspx
http://www.dotblogs.com.tw/regionbbs/archive/2010/06/18/15979.aspx
http://www.dotblogs.com.tw/regionbbs/archive/2010/08/21/dont.forget.proof.on.concepts.aspx
http://www.dotblogs.com.tw/regionbbs/archive/2010/09/13/17694.aspx

http://www.dotblogs.com.tw/regionbbs/archive/2011/06/27/dynamic.or.static.design.aspx

2012年11月30日 星期五

AutoPostBack後ListBox的scroll不動


網路上的找到的方法:
aspx端 javascript 
function autoscroll() {
   var list = document.getElementById("ListBox名稱");
   //找到ListBox物件(使用檢視原碼碼去找ID比較準確)  
               
   if (!list || !list.multiple || list.length == 0) return;
      var lastItem = list[list.length - 1];
          
      if (lastItem.selected) {
          lastItem.selected = true;               
          return;
      }
      else {
          lastItem.selected = true;
          lastItem.selected = false;
          }
          for (var i = 0; i < list.length; i++) {
          if (list[i].selected) // or list.selected ?  
             {
              list[i].selected = true;                    
              return;
             }
          }
     }

vb端
 Page.RegisterStartupScript("MyScript""<Script language=javascript defer='true'> autoscroll() </script>")

目前測試結果不包UpdatePanel運作正常包了則無作用


2012年7月3日 星期二

變更ListItem的底色

此範例是用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月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()






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







2012年1月3日 星期二

GOOGLE+1語法


<script> 
          (function(d, t)
             {
                 var g = d.createElement(t), s = d.getElementsByTagName(t)[0]; g.async = true; g.src =   
                 'https://apis.google.com/js/plusone.js'; s.parentNode.insertBefore(g, s); 
              }
          )
          (document, 'script');
</script>


 -- 按鈕---
 <g:plusone></g:plusone>