static public void SelectMultiple(this HtmlHelper html, SelectMultipleOption option) { if (option.DestinationList == null) { option.DestinationList = new SelectList(new List <SelectListItem>()); } if (option.SourceList == null) { option.SourceList = new SelectList(new List <SelectListItem>()); } //exclude item of source that exist in destination option.SourceList = new SelectList(option.SourceList.Where(pt => !option.DestinationList .Any(dest => pt.Value == dest.Value)), "Value", "Text"); string destinationList1 = html.ListBox(option.DestinationListID, option.DestinationList, option.HtmlAttributes); string sourceList1 = html.ListBox(option.SourceListID, option.SourceList, option.HtmlAttributes); string htmlListBox = @" <table> <tr> <td>{SourceText}</td> <td> </td> <td>{DestinationText}</td> </tr> <tr> <td>{SourceList}</td> <td> <input type=""button"" id=""{AddButtonID}"" value=""►""/> <br/> <input type=""button"" id=""{DelButtonID}"" value=""◄""/> </td> <td>{DestinationList}</td> </tr> </table> <script type=""text/javascript""> $(document).ready(function(){ $(""#{AddButtonID}"").click(function() { SelectListBoxItems(""{SourceListID}"",""{DestinationListID}""); }); $(""#{DelButtonID}"").click(function() { UnSelectListBox(""{SourceListID}"",""{DestinationListID}""); }); }); </script>"; htmlListBox = htmlListBox.Replace("{SourceList}", sourceList1); htmlListBox = htmlListBox.Replace("{AddButtonID}", option.AddButtonID); htmlListBox = htmlListBox.Replace("{DelButtonID}", option.DelButtonID); htmlListBox = htmlListBox.Replace("{DestinationList}", destinationList1); htmlListBox = htmlListBox.Replace("{SourceListID}", option.SourceListID); htmlListBox = htmlListBox.Replace("{DestinationListID}", option.DestinationListID); htmlListBox = htmlListBox.Replace("{SourceText}", option.SourceText); htmlListBox = htmlListBox.Replace("{DestinationText}", option.DestinationText); html.ViewContext.HttpContext.Response.Write(htmlListBox); }
static public void SelectMultiple(this HtmlHelper html, SelectMultipleOption option) { if (option.DestinationList == null) option.DestinationList = new SelectList(new List<SelectListItem>()); if (option.SourceList == null) option.SourceList = new SelectList(new List<SelectListItem>()); //exclude item of source that exist in destination option.SourceList = new SelectList(option.SourceList.Where(pt => !option.DestinationList .Any(dest => pt.Value == dest.Value)), "Value", "Text"); string destinationList1 = html.ListBox(option.DestinationListID, option.DestinationList, option.HtmlAttributes); string sourceList1 = html.ListBox(option.SourceListID,option.SourceList, option.HtmlAttributes); string htmlListBox = @" <table> <tr> <td>{SourceText}</td> <td> </td> <td>{DestinationText}</td> </tr> <tr> <td>{SourceList}</td> <td> <input type=""button"" id=""{AddButtonID}"" value=""►""/> <br/> <input type=""button"" id=""{DelButtonID}"" value=""◄""/> </td> <td>{DestinationList}</td> </tr> </table> <script type=""text/javascript""> $(document).ready(function(){ $(""#{AddButtonID}"").click(function() { SelectListBoxItems(""{SourceListID}"",""{DestinationListID}""); }); $(""#{DelButtonID}"").click(function() { UnSelectListBox(""{SourceListID}"",""{DestinationListID}""); }); }); </script>"; htmlListBox = htmlListBox.Replace("{SourceList}", sourceList1); htmlListBox = htmlListBox.Replace("{AddButtonID}", option.AddButtonID); htmlListBox = htmlListBox.Replace("{DelButtonID}", option.DelButtonID); htmlListBox = htmlListBox.Replace("{DestinationList}", destinationList1); htmlListBox = htmlListBox.Replace("{SourceListID}", option.SourceListID); htmlListBox = htmlListBox.Replace("{DestinationListID}", option.DestinationListID); htmlListBox = htmlListBox.Replace("{SourceText}", option.SourceText); htmlListBox = htmlListBox.Replace("{DestinationText}", option.DestinationText); html.ViewContext.HttpContext.Response.Write(htmlListBox); }