2011-01-30 22 views
0

我有一個用戶可以輸入銀行交易的視圖。因此,他們選擇一個賬戶,一個收款人,一個類別(基於所選收款人的允許類別)和一個子類別(基於類別選擇)以及一個值。這是通過JQuery完成的,並且正在工作。Asp.net MVC - 可變數量的條目

但是,需要爲每個交易選擇多個類別/子類別/金額(拆分交易)。

我想要添加一個'網格'(所以,一個表格)和一個按鈕類別/子類別/金額部分下的標籤爲'添加',然後添加選定的貓/子貓/金額到一個網格,然後空白現有的選擇,準備添加更多 - 允許用戶根據需要添加儘可能多的「數量」。

但是 - 如何?

在添加按鈕上,我想我需要將CategoryId,SubCategoryId和Amount添加到列表中<>?然後基於該列表構建摘要網格?

我想那裏沒有閃爍的屏幕。這將通過JQuery完成嗎?使用JQuery構建表格,然後將表單提交中的cat/subcats /金額列表發送回服務器?

回答

1

你可能想看看jQuery tmpl插件。這個插件允許你建立客戶端模板。這是你可能想要在你的網站上使用的那種東西。

您可以定義一個表格行的一個模板,每次只需添加一個基於該模板的新行。 我會給表格行中的每個表單項添加一個額外的索引變量(例如name =「CategoryID-1」,用於第一行)。在插入新行時,只需將當前索引發送到模板,並確保模板將當前索引添加到表單元素的名稱。

然後在服務器端,你可以做一個簡單的查詢來獲得所有的indeces。

int[] indices = Request.Form.AllKeys.Where(k => k.StartsWith("CategoryID-")).Select(k => Convert.ToInt32(k.Substring(11))).ToArray(); 

foreach (int index in indices) 
{ 
    string cat = Request.Form["CategoryID-" + index.ToString()]; 
    string subcat = Request.Form["SubCategoryID-" + index.ToString()]; 
    //etc. 

} 
+0

我全新的整個JQuery的遊戲 - 插件聽起來象是我更好的瞭解。我會研究這個。 – Craig 2011-01-30 08:13:40