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

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


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

 

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

********************************************************************************************************************************
2012/5/10補充

相關的範例,希望您繼續看下去:會員登入、會員專屬網頁、會員修改私人資料,怎麼寫?(#6)使用者登入後,部分欄位可改、部分欄位唯讀
https://dotblogs.com.tw/mis2000lab/2012/05/10/session_login_user_right_20120510

 

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

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

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



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

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

 


為什麼我們常常在 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,多比較才有「自己的答案」。

  

本文已經收錄在書本裡面

 

 

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

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

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

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

 

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

 (1) 第一天 ASP.NET MVC5 完整影片(5.5小時 / .NET 4.x版)免費試聽。影片 https://youtu.be/9spaHik87-A 

 (2) 第一天 ASP.NET Core MVC 完整影片(3小時 / .NET Core 6.0~8.0)免費試聽。影片 https://youtu.be/TSmwpT-Bx4I 

[學員感言] mis2000lab課程評價 - ASP.NET MVC , WebForm  。 https://mis2000lab.medium.com/%E5%AD%B8%E5%93%A1%E6%84%9F%E8%A8%80-mis2000lab%E8%AA%B2%E7%A8%8B%E8%A9%95%E5%83%B9-asp-net-mvc-webform-77903ce9680b  


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 MVC  => .NET Core MVC 線上教學  ...... 第一天課程 完整內容 "免費"讓您評估 / 試聽

[遠距教學、教學影片] ASP.NET (Web Form) 課程 上線了!MIS2000Lab.主講   事先錄好的影片,並非上課側錄!   觀看時,有如「一對一」面對面講課