[ClientID & UniqueID屬性] DetailsView or FormView搭配jQueryUI (DatePicker, 挑選日期)

摘要:[ClientID屬性] DetailsView or FormView搭配jQueryUI (DatePicker, 挑選日期)

 

請先完成這篇文章的練習:

簡單的jQuery UI特效與入門 from jQuery UI官方網站

 

上面文章已經收錄在書本裡面:

專為學校、補習班撰寫的ASP.NET教科書

      

 

Q : 想要把上面的功能,加入 GridView or DetailsView or FormView大型控制項裡面,

該怎麼做?



 

 

我們可以發現這些 JavaScript or jQuery特效,都必須針對 HTML控制項的ID才能生效

 

如何抓到HTML畫面上,每一個控制項的ID?

尤其是大型控制項身體(樣板)裡面的 "子控制項" ......請看相關文章  .FindControl()方法

 

1.  先把畫面的DetailsView,日期欄位轉成「樣板 / Template」

      

 

2. 依照本文上面的說明(jQueryUI)

      將相關檔案與程式加入  HTML的 <head>區域

 

3.  jQuery UI的 DatePicker是我們將使用的功能

      執行成果如下:

      

 

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>DetailsView + JQuery UI (DatePicker)</title>
 
    <!-- *** Start ************************************************************** -->
  <link rel="stylesheet" href="//code.jquery.com/ui/1.11.0/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.11.0/jquery-ui.js"></script>  
  <script>
  $(function() {
      $("#控制項的ID,請填寫在此。").datepicker();
  });
  </script>
    <!-- *** End ************************************************************** -->
</head>
.....以下省略......

 

從執行成果,看HTML原始檔

我們可以看見「樣板」裡面的「控制項 name

但很可惜,填寫  DetailsView1$TextBox1是不會運作的

 

「控制項 id」則是正確的,跟我們寫程式 .ClientID屬性一樣!

最精準的方法是用 ASP.NET控制項 的 .ClientID屬性

    protected void Page_Load(object sender, EventArgs e)    {
        if(!Page.IsPostBack)        {
            TextBox TB = (TextBox)DetailsView1.FindControl("TextBox1");
            Label2.Text = TB.ClientID;
        }
 
       //  VB程式如下:
       //     Dim TB As TextBox = DetailsView1.FindControl("TextBox1")
       //     Label2.Text = TB.ClientID
    }

 

填寫到HTML畫面中的 <head>區塊,放到 jQuery裡面即可。

         縱然不會寫 jQuery or JavaScript

         只要觀念正確、放到正確的位置,還是能運作

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>DetailsView + JQuery UI (DatePicker)</title>
 
    <!-- *** Start ************************************************************** -->
  <link rel="stylesheet" href="//code.jquery.com/ui/1.11.0/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.11.0/jquery-ui.js"></script>
  
  <script>
  $(function() {
      $("#DetailsView1_TextBox1").datepicker();
  });
  </script>
    <!-- *** End ************************************************************** -->
</head>
.....以下省略......
 
 
                   http://msdn.microsoft.com/zh-tw/library/1d04y8ss(v=vs.110).aspx
 
      ASP.NET Web 伺服器控制項包含下列當成識別項的屬性:
  • ID - 這是您在標記中指定或藉由設定控制項的 ID 屬性來指定的 ID。
  • UniqueID - 這是 ASP.NET 產生的 ID,供伺服器上執行的程式碼使用。
  • ClientID - 這是 ASP.NET 產生的 ID,供用戶端程式碼使用 (它會轉譯成 HTML 程式碼中 id 屬性的值)。
 
*******************************************************************************************
想要修改 jQuery UI 的 datepicker 輸出日期格式
可參考:
*******************************************************************************************
 
 
 
該不該花時間學 jQuery / JavaScript ??
該花多少時間去學??
 
您要自己考量 專案或是自己的時間,自己調配
 
我想說的是:
很多東西,學起來沒這麼難。
與 ASP.NET搭配也沒這麼難
動手做!去體會..................從做中學!
 
IT是一個手工業!"動手做" 才是王道!
 
另外一個問題,根本範例幾乎一樣:
 
 

我將思想傳授他人, 他人之所得,亦無損於我之所有;

猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson

寫信給我,不要私訊 --  mis2000lab (at) yahoo.com.台灣  或  school (at) mis2000lab.net



ASP.NET遠距教學、線上課程(Web Form + MVC)。 第二門 課程「四折」-- 以MVC課程 作優惠。
第一天課程, "完整" 試聽。  如不滿意  全額退費!
................   facebook社團   https://www.facebook.com/mis2000lab   ......................

................  YouTube (ASP.NET) 線上教學影片  http://goo.gl/rGLocQ

*********************************************************************************************

*** ASP.NET MVC線上課程 第一天 免費看 (5.5小時) *** 

************************************************************(歡迎索取,免費申請)*****

 

Blog文章 "附的範例" 無法下載,請看 這裡 ...... https://dotblogs.com.tw/mis2000lab/2016/03/14/2008_2015_mis2000lab_sample_download

請看我們的「售後服務」範圍(嚴格認定)

......................................................................................................................................................

...................................................................................................................................................... 

[遠距教學、教學影片] ASP.NET (Web Form) 課程 上線了!MIS2000Lab.主講

事先錄製好的影片,並非上課時側錄!   觀看影片時,有如我「一對一」跟您面對面講課

 

ASP.NET MVC 5 線上教學

累積時數約 75小時...... 第一天(5.5小時)完整內容,"免費"讓您評估

    MIS2000 Lab.  線上教學影片(YouTube) **免費觀賞**