台灣最大程式設計社群網站
線上人數
1671
 
會員總數:241330
討論主題:186904
歡迎您免費加入會員
討論區列表 >> ASP.NET >> 詢問表單資料送出的時候會覆蓋到第一筆的資料。
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
詢問表單資料送出的時候會覆蓋到第一筆的資料。
價值 : 100 QP  點閱數:283 回應數:10

樓主

小J
門外漢
0 1
22 4
發送站內信

如標題所述,我做了一個表單是HTML寫的然後資料填寫完畢之後是使用POST方式發送出去,
再來呈現這些資料我不是用Gridview 而是使用label加Request接收表單傳來的值(這一頁是NET),
再來這一頁我還有寫select查詢 使用while 下去跑每個資料庫欄位 將每一筆欄位寫到相對應的label,
不過我發現當我資料送出時我的資料會變成 跟第一筆會連在一起的狀態,
舉例: 我表單有金額的欄位,我填寫10元 而送出的時候就會跟原本select 查詢的第一筆資料連在一起
會變成(1010) 當我網頁重新整理他就會恢復,所以有捨辦法將資料直接排在第一筆,別送出的時候會跟
別的資料連在一起?



搜尋相關Tags的文章: [ ADO.net ] , [ Request ] , [ post ] ,
本篇文章發表於2017-11-27 11:29
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

Liny
捐贈 VP 給 Liny 檢舉此回應
你沒有Code,光這樣描述...大家只能憑空猜測
本篇文章回覆於2017-11-27 14:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

小J
檢舉此回應
這裡是第一頁HTML因為資料蠻多的所以我只寫一些欄位


這裡是WB.aspx

這下面是WB.cs

本篇文章回覆於2017-11-27 15:38
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應

樓主您想像一下
如果兩筆資料時
您並沒有把資料放到第二組控制項
而是重複地放到相同的控制項
所以您所描述的
舉例: 我表單有金額的欄位,我填寫10元 而送出的時候就會跟原本select 查詢的第一筆資料連在一起
會變成(1010) 當我網頁重新整理他就會恢復
就很合理了

如果您用GridView,或者DataView控制項,就正常

由於不是很清楚您想要怎麼呈現資料,所以,先點出您的問題∼
如果需要進一步的建議,請您進一步描述,您想怎麼呈現資料

^_^
本篇文章回覆於2017-11-27 17:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

小J
檢舉此回應
呈現資料的方式 標題一 標題二 標題三
內容一 內容二 內容三 <====這裡是原本select 舊的資料
然後當使用者重新填完表單 (這個是我想呈現的方式)
標題一 標題二 標題三
新內容 新內容 新內容 <====插入的新內容在標題下面
舊內容 舊內容 舊內容 <====這是之前使用者輸入過的內容
而現在程式目前是
標題一 標題二 標題三
舊內容新內容 舊內容新內容 舊內容新內容
當我按下重新整理才會恢復正常。
本篇文章回覆於2017-11-27 18:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

小J
檢舉此回應
然後我想我單純用Label 來呈現資料 不使用GridView 或者DataView 。
本篇文章回覆於2017-11-27 18:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

MIS2000 Lab
檢舉此回應
想了好久才大概知道您想表達什麼?
底下的文字打好,也不想刪除了。

回答四樓,您的問題:
Q : 現在程式目前是
標題一 標題二 標題三
舊內容新內容 舊內容新內容 舊內容新內容
當我按下重新整理才會恢復正常。

A : 您使用字串相連,當然會出現「舊內容」「新內容」這種畫面呈現

若您只要解決問題就好,其他都不管的話
畫面 WB.aspx最前面的三列程式,就寫好
input_Status.Text = "";
input_Staff_id.Text = "";
input_Staff_name.Text = "";

但這不能掩蓋您這個問題裡面,諸多的缺失(以及思考不週的地方)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

回答四樓,您的問題:
如同 topcat提醒您的 --
您畫面 WB.aspx只有三個 Label的組合

但您從資料表裡面,查詢(撈出)很多筆記錄,假如有數百筆呢?
所以您必須用迴圈來跑
您想怎麼呈現在畫面上啊?

Q : 當使用者重新填完表單 (這個是我想呈現的方式)
標題一 標題二 標題三
新內容 新內容 新內容 <====插入的新內容在標題下面
舊內容 舊內容 舊內容 <====這是之前使用者輸入過的內容

A : WB.aspx畫面上,使用 GridView
後面的程式,把while迴圈的部分,改寫成

GridView1.DataSource = dr;
GridView1.DataBinding();
一次搞定。

回答五樓,您的問題:
Q : 我想我單純用Label 來呈現資料 不使用GridView 或者DataView 。
A : 那您得確定:您的SELECT指令,只撈出一筆數據 :-)
本篇文章回覆於2017-11-28 08:49
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

小魚
檢舉此回應
要用Label也不是不行,
可以用Repeater控制項,
不過如果你只想用一個Label呈現所有資料,
那我只能祝福你...
本篇文章回覆於2017-11-28 12:55
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

小J
檢舉此回應
目前我處理的辦法是多加一個事件給他,然後當觸發這個事件才展開全部的資料,只是就如各位所說
用label 的確不是很好寫,不過這個就只是當作練功。
而且後續還有考慮到框限的問題,
(原本想要這樣寫結果發現畫面也整個跑版,因為有套用bootstrap 關係所以才想說用label就好)

現在呈現的方式
標題一 標題二 標題三
新內容 新內容 新內容 <===往下展開
舊內容 舊內容 舊內容


未來想呈現的方式其實就是跟Gridview 差不多,(標題一)假設等於員工ID的label名稱,這是抓資料庫的員工ID欄位然後呈現在標題一底下

標題一 標題二 標題三
___________________
新內容 新內容 新內容 <===往下展開
___________________
舊內容 舊內容 舊內容
___________________
舊內容 舊內容 舊內容



本篇文章回覆於2017-11-28 18:04
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

Forevertim
檢舉此回應
根據:
呈現資料的方式 標題一 標題二 標題三
內容一 內容二 內容三 <====這裡是原本select 舊的資料
然後當使用者重新填完表單 (這個是我想呈現的方式)
標題一 標題二 標題三
新內容 新內容 新內容 <====插入的新內容在標題下面
舊內容 舊內容 舊內容 <====這是之前使用者輸入過的內容
而現在程式目前是
標題一 標題二 標題三
舊內容新內容 舊內容新內容 舊內容新內容
當我按下重新整理才會恢復正常。
///////////////////////////////////////////////////////////////////////////
大概猜出來了,要用Label的話...很累喔..

Label.Text += "<table>"
Label.Text += "<tr><td>標題一</td><td>標題二</td><td>標題三</td></tr>"//先畫出表頭
迴圈
Label.Text += "<tr><td>新內容</td><td>新內容</td><td>新內容</td></tr>"//自己跑...
迴圈結束
Label.Text += "</table>"

然後你就會在畫面看到畫出來的表格了。你還是用GridView,DataBind一下就好
本篇文章回覆於2017-11-29 17:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
原本想要這樣寫結果發現畫面也整個跑版,因為有套用bootstrap 關係所以才想說用label就好


多筆的呈現:
用GridView:表格的方式呈現
用ListView:可以表格、也可以UL,Li或者OL,Li
用Repeter:看你哪些東西要重複

因為您要套bootstrap
建議,您用Repeter或者ListView
至於Repeter或者ListView的用法
您搜尋一下,或者找一下書,這部分server控制項的使用,照著網路的文章或者書上的範例,練習一下
會了、通了,再回頭思考怎麼套用在您的這個例子,應該就可以想到怎麼應用

加油

^_^
本篇文章回覆於2017-11-29 18:34
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

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