會員登入、會員專屬網頁、會員修改私人資料,怎麼寫?(#4,障眼法)使用者登入後(新增、刪除、編輯)各種動作的權限

會員登入、會員專屬網頁、會員修改私人資料,怎麼寫?(#4,障眼法)使用者登入後(新增、刪除、編輯)各種動作的權限

上一篇文章:
會員登入、會員專屬網頁、會員修改私人資料,怎麼寫?(#3)使用者登入後(新增、刪除、編輯)各種動作的權限
http://www.dotblogs.com.tw/mis2000lab/archive/2011/09/19/session_login_user_right_20110919.aspx

 

 



 


Q : 如果想要比對「使用者名稱(或是部門代號)」,

      相符的才出現「編輯」、「刪除」按鈕(才有權限去修改、刪除)
      該怎麼作呢?  (執行結果如下)
      


這兩天,我在論壇上都有看見類似的發問
http://www.blueshop.com.tw/board/FUM20041006161839LRJ/BRD20110922085835CCH.html


我的方法不是最好的
                  但(我猜)應該是「最簡單」


1.  首先,我在畫面上產生 GridView + SqlDataSource,
     並且產生 [編輯]、[刪除]的按鈕與SQL指令。

2.  然後,把第一行(欄位)的按鈕,設定為「樣版」。
      把 [編輯]、[刪除]的按鈕通通隱形(.Visible = false).......又來了,障眼法!

3.  接下來要自己寫程式,
      因為要比對 GridView格子裡面的「作者姓名」,所以要寫在 RowDataBound事件

產生資料後,才能比對啊。  DataBound 就是 英文 DataBinding的「過去式」


如果條件符合(跟您說的一樣)
      就利用 .FindControl()方法,抓到「刪除」按鈕,讓他呈現出來(.Visible=true)

不符合條件,就讓這按鈕隱形(.Visible = false)

 

程式碼的小提示:

      程式碼,我們可以用   e.Row  抓到 [ GridView正在產生的那一列]

      然後用 .FindControl()方法,抓到按鈕。   e.Row.FindControl("Button的ID")

       .FindControl()方法,請看我寫好的習題(範例很多) -- http://www.dotblogs.com.tw/mis2000lab/Tags/findcontrol/default.aspx



上一篇文章有提供範例下載,本文的範例也在那邊。

請看 ----
      登入畫面  User_Name_1_Login.aspx
      文章列表  User_Name_1_List.aspx  (通過帳號、密碼的檢查後,才能看到這一頁。自己寫的文章可以自己修改)
 


當然,這樣的作法有 "缺陷"
      因為同名同姓的太多,會引起誤判。

      最好您在新增一篇文章時,除了作者姓名之外,也要加入作者編號(或是身份證ID),
      這種 獨一無二的編號不會重複,比較適合用來比對、確認身份

 

上面範例已經收錄在這本書裡面:http://www.tenlong.com.tw/items/9572241729?item_id=620531

 

這種作法更簡單:   透過 DataBinding Expression   <%# ..... %> 來做,更輕鬆。

會員登入、會員專屬網頁、會員修改私人資料,怎麼寫?(#5,障眼法 DataBinding Expression)使用者登入後(新增、刪除、編輯)各種動作的權限
https://dotblogs.com.tw/mis2000lab/2016/05/09/session_login_user_right_databinding_expression_2016

 

********************************************************************************************************************************
2012/5/10補充:      相關的範例,希望您繼續看下去:

      會員登入、會員專屬網頁、會員修改私人資料,怎麼寫?(#6)使用者登入後,部分欄位可改、部分欄位唯讀
      http://www.dotblogs.com.tw/mis2000lab/archive/2012/05/10/session_login_user_right_20120510.aspx

 

 

 

 

====  以下是廣告  ========================================================================

如果我這樣講,您還是不會寫..................

那就是程度有待加強,
我的書本都有,快點買來看吧!



因為這兩個範例,就是我上課教書時的小小補充而已

沒有書本上的基礎,不容易學會。
(初學者站都站不好了,怎麼學跳?學飛呢?)
============================================================================

 


為什麼我們常常在 GridView的  RowDataBound事件 或是 RowCreated事件裡面,

加上這一段 if判別式呢?  Why ??

If e.Row.RowType = DataControlRowType.DataRow Then

    ..........

End If

 

 

說句實話,如果您手邊的書,

都沒有解釋這一段,

 

那你可以有更好的選擇,多買幾本回來比較吧!!

 

好的老師、好的書,帶你上天堂。

只教精靈步驟、只是混一學期就算了的入門書,讓你 XYZ!@#%.......

 

很多功能與作法都不難,你上網也都查得到範例

但你就是看不懂人家在寫啥?

     為什麼這樣寫?     .............很多初學者,甚至連要寫在哪個事件裡面,都搞不懂???

 

不要絕望,不是程度不如人,不是不適合「寫程式」,

只是你走錯路,沒抓到重點!!

 

哪些功能、哪些事件,通常會搭配哪幾段程式碼?作什麼用?

這些就是基礎,就是你手邊的程式碼積木!

 

基礎穩固,你就能用手邊的「積木」堆積成一棟大樓

就有機會做出「自己想作」的功能

 

 

 

複選的控制項(ListBox或是CheckBoxList、RadioButtonLits)是否都會搭配一段 For迴圈,

這樣才能抓到使用者「複選」的選項?

 

想當然爾,在 GridView的  RowDataBound事件 或是 RowCreated事件裡面,加上這一段 if判別式

不也是固定的範本嗎?很常用的!!

 

你上課的時候,老師有教嗎?

你買的書,有教你嗎?

 

多買幾本書,好好比較一下,

一樣要學 ASP.NET,多比較才有「自己的答案」。

 

 

本文已經收錄在書本裡面

Xp13157

微軟 MVP的 ASP.NET 4.5 專題實務 ( II )-範例應用與 4.5 新功能

【VB / C# 雙語法】

MIS2000 Lab. 周棟祥、吳進魯

  • 出版商:松崗
  • 出版日期:2013-08-08
  • 台幣定價:
  • $820
  • 售價:7.6 折 $623  超商取貨 滿350元 免運費
  •  
  • 頁數:1096 !!! (另有 五章 PDF電子書放在光碟內)
  • ISBN:9572241729
  • EAN:9789572241721

 

天瓏書局(網路書店)http://www.tenlong.com.tw/items/9572241729?item_id=620531

超商取貨 滿350元 免運費

 

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

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

線上課程,遠距教學 (Web Form 49hr)  https://dotblogs.com.tw/mis2000lab/2016/02/01/aspnet_online_learning_distance_education_VS2015

線上課程,遠距教學 (ASP.NET MVC 75hr)  https://dotblogs.com.tw/mis2000lab/2018/08/14/ASPnet_MVC_Online_Learning_MIS2000Lab

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

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


ASP.NET遠距教學、線上課程(Web Form + MVC)。 第一天課程, "完整" 試聽。 

................   facebook社團   https://www.facebook.com/mis2000lab   ......................

................  YouTube (ASP.NET) 線上教學影片  https://www.youtube.com/channel/UC6IPPf6tvsNG8zX3u1LddvA/

 

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小時)完整內容,"免費"讓您評估