台灣最大程式設計社群網站
線上人數
1000
 
會員總數:244689
討論主題:188779
歡迎您免費加入會員
討論區列表 >> ASP.NET >> button 畫面閃爍 需要重新按一次
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
button 畫面閃爍 需要重新按一次
價值 : 50 QP  點閱數:184 回應數:11

樓主

阿偉
門外漢
0 15
915 47
發送站內信

請問我按下button後
畫面閃爍了一次
我需要再按下button才能夠執行
每次都需要按兩次
爬文過,好像是 Page_Load 的問題
但不知道如何解決
請求幫助,謝謝大家。





搜尋相關Tags的文章: [ asp.net ] , [ vb ] ,
本篇文章發表於2019-07-08 17:59
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
建議:
不要用SQLDataSource來做資料維護
您可以直接寫ADO.NET,或者用Dapper
^_^
本篇文章回覆於2019-07-08 23:35
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
請問我按下button後
畫面閃爍了一次
我需要再按下button才能夠執行
每次都需要按兩次
爬文過,好像是 Page_Load 的問題
但不知道如何解決
請求幫助,謝謝大家。


由於您的程式看不到整體,出問題的可能不在您貼出來的部分
再加上您只是描述『畫面閃爍』、需『兩次』才能『執行』

但執行什麼、判斷有沒有做的標準是什麼
您沒有描述,也不知道您想做什麼

所以只能給您大方向的想法

這問題通常是頁面的『生命週期』與『事件的先後順序有關』

如果想進一步的針對你的程式找問題
請您正完整的描述,以及更完整的貼出程式碼

^.^a
本篇文章回覆於2019-07-09 14:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

阿偉
檢舉此回應
小喵版主
我希望按下Button2能夠把資料一次就寫入資料庫裡
但點第一下畫面會閃爍一次,需要點第二下才會顯示成功
完整程式碼如下
麻煩了
謝謝










本篇文章回覆於2019-07-09 17:08
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

阿偉
檢舉此回應
下次會用ADO.NET寫的,謝謝
本篇文章回覆於2019-07-09 17:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
感恩您提供較完整的資訊
在時間不多的情況下

大致找了一下您程式可能的問題重點

1.有GridView,大概猜測您所謂的成功,是指資料有顯示出來
2.Button2新增資料後,沒有做GridView的重新綁定

所以
第1次,『其實已經新增了』,但是沒有資料重新綁定,所以沒有呈現出來
第2次,『其實資料新增了兩次』,但由於頁面重新PostBack,資料呈現第一次更新後,第二次更新前的狀態,但資料其實更新了兩次

解決方式,很簡單在Button2中,您邏輯上認定成功後要加上


請您試試看
^_^

本篇文章回覆於2019-07-10 12:14
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

阿偉
檢舉此回應
小喵版主
謝謝
在Button2中加入GridView1.DataBind()
資料能夠隨時更新到GridView上

只是我說的問題點是......點擊Button2
點第一下完全沒有反應
要點第二下後
我的LBL_status.Text 才會出現 "報廢成功!!"

當我點第一下button2時候
有在資料庫查看,是沒有資料寫入的
點第二下後LBL_status.Text 出現 "報廢成功!!"
資料庫才有資料寫進去

謝謝您耐心的幫忙
謝謝

本篇文章回覆於2019-07-11 14:36
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
當我點第一下button2時候
有在資料庫查看,是沒有資料寫入的
點第二下後LBL_status.Text 出現 "報廢成功!!"
資料庫才有資料寫進去


從您#3的程式碼
Button2的Click是新增資料
Button3的Click是修改資料
而訊息『報廢成功!!』這訊息是只有在『Button3』才有看到這訊息

所以您所描述的第一下button2與第二下,才會出現『報廢成功!!』
這我真的不太理解

還是您描述的,其實是Button3要按兩次?

^.^a
本篇文章回覆於2019-07-11 14:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
其實要確認他是否如您預期的去走程式流程
您可以下中斷點,用本機去執行
透過『中斷點』搭配『F11』的Step By Step執行
來自己偵錯

^_^
本篇文章回覆於2019-07-11 15:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
作者回應

阿偉
檢舉此回應
版主..
Button3是按兩次
抱歉
本篇文章回覆於2019-07-11 15:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
作者回應

阿偉
檢舉此回應
版主
我的邏輯是
BUTTON2
點選後
連動BUTTON3
最後由BUTTON3 顯示出 "報廢成功!!"
再跟您確認是 我需要點擊兩次BUTTON2
才會顯示報廢成功
修正#9的回覆,謝謝
本篇文章回覆於2019-07-11 16:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
建議:
1.程序不如預期,比見建議您還是透過中斷點搭配F11的StepByStep來觀察
這是最有效的解決方式了。
2.您button2新增,連動Button3進行Update
這兩者萬一新增成功,但Update失敗,會怎樣?

兩個步驟以上,或者兩個資料表以上的維護(新增修改刪除),希望可以一次完成
比較建議把動作抽出來,寫在類別,搭配ObjectDataSource,以及Transaction的機制
這樣才算完整

不然光是處理做一半失敗資料維護不完整的問題
就可能耗費大量的時間

而且強烈建議您,不要用SqlDataSource來進行資料庫的維護
用WebForm的人已經越來越少了
用SqlDataSource維護資料的更少
您繼續使用,可想的未來,有問題大概也沒人會處理
如果是真實的系統
這對系統來說,是留下一大隱憂
如果只是練習,未來這樣的方式實在不推,這樣的練習是對未來沒幫助的

如果小喵維護系統,會先把系統作改寫
這樣的方式實在不好

^.^a
本篇文章回覆於2019-07-11 16:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.