2011-7-5 20-50-27.png
情境模擬如示意圖 : 點擊GridView上的TextBox後,要帶出ModalPopupExtender,勾選ModalPopupExtender上的選項後再將值寫回Textbox上。
    
看似簡單的問題,卻也讓我折騰了好幾小時。所幸經過一番努力,終於TRY出來了。
解法如下 :
一、在Textbox旁邊,設置了一顆隱藏按鈕(display:none),給它個CommandName,CommandArgument抓的是GridView的row index,等等要在RowCommand Event裡要用到。若ModalPopupExtender出來的畫面是包在UpdatePanel中,在ModalPopupExtender的屬性裡,OkControlID、CancelControlID這兩個屬性不能設,好讓確定按鈕或取消按鈕以ajax的方式傳回。

<ItemTemplate>
    <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
   
<cc1:ModalPopupExtender ID="TextBox2_ModalPopupExtender" runat="server"  PopupControlID="Panel1"
        
DynamicServicePath="" Enabled="True" TargetControlID="TextBox2" BackgroundCssClass="modalBackground" >
   
</cc1:ModalPopupExtender>
   
<asp:Button ID="Button1" runat="server" style="display:none" Text="Button" CommandName="Show" CommandArgument="<%#Container.DataItemIndex  %>" />                        </ItemTemplate>

忙裡偷閒 發表在 痞客邦 留言(0) 人氣()

微軟的ajax tool kit有個CalendarExtender控制項可以很方便的產生萬年曆供user選取日期,
也能在後置程式碼中取得選取值。但如果想在前端js中取到選許的日期,就沒那麼容易了。經過努力爬文後,
其實可以透過CalendarExtender控制項中的OnClientDateSelectionChanged屬性,指定處理的function,
透過該function幫你取值。

以下範例是一textbox中有預設Date Now的值,另一textbox透過CalendarExtender選取日期,所選取的日期不可小於預設日期,否則便清空欄位
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default4.aspx.cs" Inherits="Default4" %>
<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="cc1" %>

忙裡偷閒 發表在 痞客邦 留言(0) 人氣()

以往在前端網頁中,利用javascript產生的資料想送回後端,交由後端程式處理時,會利用一個隱藏欄位+一個隱藏按鈕(display:'none'),將資料寫入到隱藏欄位中後,再利用javascript去觸發隱藏按鈕,去執行button_click中的程式,如以下寫法:
<script src="jquery-1.4.4.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function() {
        $('#Button1').click(function() {
            var txtdiv = $('#mydiv').text();
            $('#<%=TextBox1.ClientID %>').val(txtdiv);
        })
    })
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div id="mydiv">andy</div>
    <asp:TextBox ID="TextBox1" runat="server" style="display:none"></asp:TextBox>
    <asp:Button ID="Button1" runat="server" Text="測試按鈕" onclick="Button1_Click" />
    </form>
</body>
</html>

忙裡偷閒 發表在 痞客邦 留言(1) 人氣()


今天發現了jQuery的選擇器上有個不錯的功能,可以快速的找出table上的奇數欄位or偶數欄位,如果要在奇(偶)數欄位上使用不同的背景顏色,這時就派上用場了。
<STYLE>
    .evenColor{ background-color:#999966; }
    .oddColor { background-color:#E8E8E8; }
</STYLE>

忙裡偷閒 發表在 痞客邦 留言(0) 人氣()


長久以來,我的Visual Studio 2008經常跳出無法啟動程式的錯誤,按了確定後,沒執行偵錯又回到vs2008裡了,爬文許久,終於找到解決方法了 :
1)  Open RegEdit
2)  Browse to HKEY_LOCALMACHINE -> SOFTWARE -> Microsoft -> Internet Explorer -> Main
3)  Add a dword under this key called TabProcGrowth
4)  Set TabProcGrowth to 0
然後重啟vs2008,惱人的錯誤訊息就沒了

  

忙裡偷閒 發表在 痞客邦 留言(0) 人氣()

假設我想在某一張帶有HyperLink的圖片上,當滑鼠游移上去時,能直接觸發jQuery的.click() event去驅動它自動連結到HyperLink指定的網頁,
如這樣:
<script src="jquery-1.6.min.js" type="text/javascript"></script>

忙裡偷閒 發表在 痞客邦 留言(0) 人氣()

1.png
  
如上圖所示,想要在Page_Load時,動態產生CheckBox,以及其對應的事件,參考微軟的MSDN後,自己實作了一下,蠻簡單的,看倌們可以參考看看。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; 

忙裡偷閒 發表在 痞客邦 留言(0) 人氣()

1.png
延續 以jQuey DOMWindow plugin實現子頁面資料回傳父頁面心得筆記 一文,如果利用AjaxToolKit中的ModalPopupExtender要實現同樣的功能,實作起來更為簡單。
1.在Visual Studio中布置以下的控制項:

  

忙裡偷閒 發表在 痞客邦 留言(0) 人氣()

1.png
DOMWindow是個類似Facebook的相片播放插件,產生半透明的黑色背景,讓使用者的注意力focus在前端相片上。
而試想如果把它應用在Master(GridView)-Detail(FormView)上要怎麼作呢?以下是示意圖:

    
折騰了幾天的時間,終於作出來了,分享給看倌們。

忙裡偷閒 發表在 痞客邦 留言(0) 人氣()

今天因工作需要,得在GridView中的GridView裡(有點饒口)設個checkbox全選欄位,又懶得寫在後端程式裡,
這時就想:應該是發揮jQuery前端效果製作的威力了。於是嘗試了一下,寫出來了。原理很簡單,以each()去輪巡
table中的tr、td。為什麼是輪巡table呢?因為GridView經過.net的編譯輸出後,就是變成html的table標籤。
您可以布置像以下3x3表格:
 



編號
姓名
全選


A001
ANDY
 □


A002
LAU
 □


忙裡偷閒 發表在 痞客邦 留言(5) 人氣()

本文轉貼自 : http://blog.csdn.net/Avan_Lau/archive/2010/03/02/5338205.aspx
1.  對查詢進行優化,應儘量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索引。
2.  應儘量避免在 where 子句中對欄位進行 null 值判斷,否則將導致引擎放棄使用索引而進行全表掃描,如:
   select id from t where num is null
   可以在num上設置預設值0,確保表中num列沒有null值,然後這樣查詢:
   select id from t where num=0

忙裡偷閒 發表在 痞客邦 留言(0) 人氣()


使用visual studio開發ASP.NET時,時常用到ScriptManager+UpdatePanel搭配來作到AJAX的效果。
但假設在一個UpdatePanel中,放了一個html button,想讓這個button以$.ajax()方式
跟後端程式要資料,然後展現在畫面上,這個button就會失效。原因在於UpdatePanel
只幫你作局部的資料刷新,而在它返回時只會更新UpdatePanel內的html,並沒有將JQuery的
ready()再一併加載進來。

解決方法是利用Sys.WebForms.PageRequestManager這個類別。如微軟的MSDN所言 :

您不會直接建立 PageRequestManager 類別的新執行個體。 而是在啟用部分頁面呈現時,便能夠使用執行個體。 呼叫 getInstance 方法可取得 PageRequestManager 類別的執行個體。

所以只需要在<script type="text/javascript"></script> 內宣告
var prm = Sys.WebForms.PageRequestManager.getInstance();
就能取得PageRequestManager的執行個體。再跟執行個體註冊一個自訂的function,來達到我們要的效果。
而PageRequestManager的事件有initializeRequestbeginRequestpageLoadingpageLoadedendRequest
至於事件的說明請詳閱MSDN。 接著看範例比較清楚 :

忙裡偷閒 發表在 痞客邦 留言(0) 人氣()

« 1 2 3 4
Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。