我的C#web應用程序要求用戶輸入汽車信息。用戶可以添加一個自動或更多(最多20個)的信息。我有一個按鈕,允許用戶「添加更多汽車」 這個想法是允許用戶添加多於一個車。在C#2008上動態添加文本字段asp.net頁面
當用戶點擊「添加更多汽車」時,如何動態顯示文本框,並跟蹤用戶添加了多少輛汽車(將其加載到陣列並寫入數據庫)
任何其他想法會使這個目標更容易?該控件僅用於輸入數據,而不用於查看任何記錄。
我的C#web應用程序要求用戶輸入汽車信息。用戶可以添加一個自動或更多(最多20個)的信息。我有一個按鈕,允許用戶「添加更多汽車」 這個想法是允許用戶添加多於一個車。在C#2008上動態添加文本字段asp.net頁面
當用戶點擊「添加更多汽車」時,如何動態顯示文本框,並跟蹤用戶添加了多少輛汽車(將其加載到陣列並寫入數據庫)
任何其他想法會使這個目標更容易?該控件僅用於輸入數據,而不用於查看任何記錄。
我喜歡使用佔位符並添加用戶控件。它工作得非常好,而且非常模塊化。下面是一個簡單的例子,我添加了一些基於列表的控件。您會注意到我將一個對象傳遞給我的用戶控件,允許它隱藏或顯示自己,根據權限顯示某些選項等。你可以很容易地修改這段代碼添加一個事件:
for (int i = 0; i < comments.Count; i++)
{
controls.Comment commentCtrl = (controls.Comment)Page.LoadControl("~/userControls/Comment.ascx");
commentCtrl.ID = "commentUserCtrl" + i;
commentCtrl.setComment((myCommentObj)comments[i]);
placeHolderComments.Controls.Add(commentCtrl);
}
使用ListView顯示輸入的汽車列表。創建一個InsertItem模板,該模板包含用於插入新車的模板,並在插入時通過重新載入記錄更新數據庫,允許它們插入。你可以用UpdatePanel來封裝它,使其成爲異步。
OR
如果你想要一個純客戶端的方式,使用JavaScript來創建可編程每個條目,然後使用一個共同的方案來創建控件。然後,您可以檢查表單集合以獲取發佈的值並提取所有值,或者通過客戶端的Web服務將數據流式傳輸回teh服務器。
HTH。
,你可以做到以下幾點:
此外,您還可以對文本框進行用戶控件(ASCX文件)以獲得更多控制權,例如處理事件或爲每個文本框添加驗證程序。然後,每次向容器添加一個新控件時,您都必須使用LoadControl(「YourTextBox.ascx」)加載用戶控件。
我猜Repeater控件不適用於數據輸入,正確嗎? ListView聽起來像一個更好的主意。謝謝 – user279521
Nah,一箇中繼器是一個列表框的較輕版本,更老,更簡單。你可以用它來顯示更多的文本框,雖然它可能不是最好的方法。像這樣嘗試:將它們添加到一個div(服務器端),然後將這個div添加到佔位符中,以便將事物放在正確的位置。 –
ListView真的很好用,JavaScript/JQuery友好,併爲您處理綁定,這就是我喜歡它的原因。中繼器是一個有效的選項...我傾向於使用Repeater上的ListView,但這並不是說Repeater無效。 –