本文介绍了利用img和div标签实现图像下拉列表的方法。这个方法不用自定义控件之类,因为我们在mvc下不能使用asp.net服务器控件,所以我们只用了div和img标签实现这个功能。

dropdownlist自身不支持图画列表,那么咱们运用jquery来完成下拉列表的模仿。

如图

使用img和div标签完成图画下拉列表的模仿  图像下拉列表 img div 第1张使用img和div标签完成图画下拉列表的模仿  图像下拉列表 img div 第2张使用img和div标签完成图画下拉列表的模仿  图像下拉列表 img div 第3张使用img和div标签完成图画下拉列表的模仿  图像下拉列表 img div 第4张

其实很简单,不必自定义控件之类,由于咱们在mvc下不能运用asp.net服务器控件,所以咱们只用了divimg标签完成这个功用

1.首要介绍一下数据库表结构,这是下拉列表用到的数据

用到的表

使用img和div标签完成图画下拉列表的模仿  图像下拉列表 img div 第5张

使用img和div标签完成图画下拉列表的模仿  图像下拉列表 img div 第6张

使用img和div标签完成图画下拉列表的模仿  图像下拉列表 img div 第7张

2.创立 company,department的录入窗体

如下图,由于不是要点,不再介绍,只需留意一点,company.id为自增int,留意特点窗口中auto Generated Value为true,Auto-Sync为OnInsert,这样linq才可没错

使用img和div标签完成图画下拉列表的模仿  图像下拉列表 img div 第8张

使用img和div标签完成图画下拉列表的模仿  图像下拉列表 img div 第9张

  1. [AcceptVerbs(HttpVerbs.Post)]
  2. public ActionResult CreateCompany(string name, string brief)
  3. {
  4. string strResult = "失利";
  5. ServiceDataContext db = new ServiceDataContext();
  6. Company com = new Company();
  7. com.Name = name;
  8. com.Brief = brief;
  9. try
  10. {
  11. db.Companies.InsertOnSubmit(com);
  12. db.SubmitChanges();
  13. strResult = "成功";
  14. }
  15. catch
  16. {
  17. strResult = "失利,称号重复?";
  18. }
  19. return Json(strResult);
  20. }

3.规划下拉菜单(这才是我想说的要点)

  1. <td>
  2. <img id="imgDefault" src='' class="imgCss" alt="" /><img
  • id="imgArrow" src="<%=ViewData["arrowUrl"]%>" class="DropdownCss" alt="" />
  • <div id="divList" class="scrolldivHidden">
  • <%=ViewData["imageTable"]%>div>
  • <%=Html.Hidden("head") %>
  • td>
  • 这儿selectedUrl为挑选的图画,有默认值,arrowUrl为下拉图标,ViewData["imageTable"]是下拉列表框

    这儿用到的css

    1. .Visible
    2. {
    3. visibility: visible;
    4. display: block;
    5. }
    6. .Hidden
    7. {
    8. visibility: hidden;
    9. display: none;
    10. }
    11. .imgCss
    12. {
    13. cursor: hand;
    14. width: 18px;
    15. height: 18px;
    16. border: 1px solid #c3c3c3;
    17. }
    18. .DropdownCss
    19. {
    20. cursor: hand;
    21. width: 9px;
    22. height: 9px;
    23. vertical-align: top;
    24. }
    25. .scrolldivHidden
    26. {
    27. position:absolute;
    28. width: 36px;
    29. height: 50px;
    30. z-index: 1;
    31. left: 0px;
    32. top: 0x;
    33. overflow-y: auto;
    34. overflow-x:hidden;
    35. display:none;
    36. }
    37. .scrolldivVisible
    38. {
    39. position:absolute;
    40. width: 36px;
    41. height: 50px;
    42. z-index: 1;
    43. left: 0px;
    44. top: 0x;
    45. overflow-y: auto;
    46. overflow-x:hidden;
    47. display:block;
    48. }

    首要咱们用到jquery来完成挑选等功用

    这儿用到jquery一个挑选框的插件

    1. /*
    2. * Manipulation for HTML SELECT with jQuery
    3. * Created by Baldwin (http://www.dnnsun.com)
    4. * version: 1.0 (02/03/2009)
    5. * @requires jQuery v1.2 or later
    6. */
    7. ; (function($) {
    8. /* Clear all options */
    9. $.fn.clearSelect = function() {
    10. return this.each(function() {
    11. if (this.tagName == 'SELECT') this.options.length = 0;
    12. });
    13. }
    14. /* Fill the options with the object array: [{'Text':'Hello','Value':'1'}]*/
    15. $.fn.fillSelect = function(data) {
    16. return this.clearSelect().each(function() {
    17. if (this.tagName == 'SELECT') {
    18. var dropdownList = this;
    19. if (data && data.length > 0) {
    20. $.each(data, function(index, optionData) {
    21. var option = new Option(optionData.Text, optionData.Value);
    22. if ($.browser.msie)
    23. dropdownList.add(option);
    24. else
    25. dropdownList.add(option, null);
    26. });
    27. dropdownList.disabled =
    转载请说明出处
    知优网 » 使用img和div标签完成图画下拉列表的模仿

    发表评论

    您需要后才能发表评论