我目前正在使用ASP.NET的C#項目。我想要實現一個Dropbox的列表。因此,用戶從保管箱開始,可以選擇一種方法,並且在保管箱旁邊是一個+和 - 按鈕,使用戶可以添加更多保管箱。所以我想知道如何才能實現這是可以在ASP.NET中構建一個Dropbox列表?如何實現C#中的Dropbox列表
0
A
回答
2
您不需要任何服務器端代碼,客戶端腳本是您需要的理想解決方案。
有這樣的HTML:
<div id="MainPlaceholder">
<div id="DropDownPlaceholder">
<select name="myDropDown">
<option value="1">First</option>
<option value="2">Second</option>
<option value="3">Third</option>
</select>
<button type="button" onclick="AddDropDown(this);">+</button>
<button type="button" onclick="RemoveDropDown(this);">-</button>
</div>
</div>
您需要以下純JavaScript,使其工作:
<script type="text/javascript">
var added_counter = 0;
function AddDropDown(sender) {
var parent = sender.parentNode;
//make fresh clone:
var oClone = parent.cloneNode(true);
//append to main placeholder:
parent.parentNode.appendChild(oClone);
//store change in global variable:
added_counter++;
}
function RemoveDropDown(sender) {
//don't allow to remove when there is only one left
if (added_counter <= 0) {
alert("One drop down must exist");
return;
}
var parent = sender.parentNode;
//disable so value won't be passed when form submitted:
parent.getElementsByTagName("select")[0].disabled = true;
//hide:
parent.style.display = "none";
//store change in global variable:
added_counter--;
}
</script>
的代碼有意見,但如果你需要任何進一步的解釋,請隨時提問。
編輯:當你需要閱讀在服務器端代碼中選擇的值,更好的方法是改變每個克隆下降的名字了下來:
var totalAddedCounter = 0;
function AddDropDown(sender) {
var parent = sender.parentNode;
//make fresh clone:
var oClone = parent.cloneNode(true);
//assign unique name:
oClone.getElementsByTagName("select")[0].name += "_" + totalAddedCounter;
//append to main placeholder:
parent.parentNode.appendChild(oClone);
//store change in global variable:
added_counter++;
totalAddedCounter++;
}
現在棘手的問題是閱讀那些值。除了純dropboxlistID.Text
你將不得不遍歷所有公佈值尋找你所需要的:
foreach (string key in Request.Form.Keys)
{
if (key.StartsWith("dropboxlistID"))
{
string text = Request.Form[key];
//.....
}
相關問題
- 1. C++中的列表實現
- 2. C#列表實現
- 3. 在Eclipse中實現Dropbox Android
- 4. 使用C++中的鏈接列表實現隊列實現
- 5. 如何在c中的鏈表中實現一個隊列?
- 6. 鏈接列表在C中的實現
- 7. C++中的鄰接列表實現
- 8. C中的鏈接列表實現
- 9. F#中的列表如何實現?
- 10. 如何在C#中實現序列化?
- 11. 實現一個列表C
- 12. C的散列表實現C
- 13. 如何實現列表
- 14. 如何在列表中實現分頁?
- 15. 在Haskell(GHC)中如何實現列表?
- 16. 在C++中的表實現
- 17. 如何在C中實現循環列表(環形緩衝區)?
- 18. 列表<T> .IndexOf()如何在C#中實現?
- 19. 如何在NCurses/PdCurses中實現滾動或列表框? (C)
- 20. 列表實現中的ClassCastException?
- 21. 如何實現列表的組合
- 22. 在c中實現隊列#
- 23. 如何優先使用循環隊列在C++中實現隊列實現?
- 24. 如何使用REST API在android應用程序中實現dropbox
- 25. 如何在Dropbox中實現同步功能?
- 26. C中的鏈表實現C
- 27. C#隊列實現#
- 28. 隊列實現C++
- 29. c中的通用鏈接列表C++實現
- 30. 在c#中實現代表#
嗨,塞納......你能給你已經嘗試了一些具體的例子,或者至少東西呢? – 2012-04-11 06:55:51
事情是我沒有什麼,因爲我沒有一個想法如何實現它...我需要的想法請。目前我已經使用單選按鈕來實現它,用戶可以單擊單選按鈕並啓用保存框,但它應該是模塊化的,用戶應該能夠以不同的順序使用多種方法。 – senna 2012-04-11 06:58:15
這意味着:dropbox(包含所有方法)+按鈕和 - 按鈕 – senna 2012-04-11 06:59:05