RSS Forums RSS
Please support our ASP.NET advertiser: Lunarpages ASP Web Hosting

separating line by line from textbox with textmode=multiline

Join Date: Feb 2005
Location: Braintree, UK
Posts: 1,166
Reputation: hollystyles will become famous soon enough hollystyles will become famous soon enough 
Rep Power: 7
Solved Threads: 59
hollystyles's Avatar
hollystyles hollystyles is offline Offline
Veteran Poster

Re: separating line by line from textbox with textmode=multiline

  #2  
Mar 29th, 2007
Consider using a ListBox web control.

1. You supply the options for the user to choose rather than free type (free text is always a validation headache for you to keep sh** out of your db)

2. ListBox has a multiselect mode (user can use shift or ctrl key to select more than one option if you set the property to true)

3. You can iterate the ListBox as it implements IEnumarable, which has gotta be easier than parsing a fat wedge of text from a textarea (which is what a multiline textbox is rendered as to the client)

Example code:

the aspx page
  1. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
  2.  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4.  
  5. <html xmlns="http://www.w3.org/1999/xhtml" >
  6. <head runat="server">
  7. <title>Untitled Page</title>
  8. </head>
  9. <body>
  10. <form id="form1" runat="server">
  11. <div>
  12. <asp:ListBox ID="lstOptions" runat="server" SelectionMode="Multiple">
  13. <asp:ListItem Value="Option1" Text="Option1"></asp:ListItem>
  14. <asp:ListItem Value="Option2" Text="Option2"></asp:ListItem>
  15. <asp:ListItem Value="Option3" Text="Option3"></asp:ListItem>
  16. <asp:ListItem Value="Option4" Text="Option4"></asp:ListItem>
  17. </asp:ListBox>
  18. <asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" />
  19. <br />
  20. <asp:Repeater ID="rprChoices" runat="server">
  21. <HeaderTemplate><ul></HeaderTemplate>
  22. <ItemTemplate><li><%# Container.DataItem %></li></ItemTemplate>
  23. <FooterTemplate></ul></FooterTemplate>
  24. </asp:Repeater>
  25. </div>
  26. </form>
  27. </body>
  28. </html>
  29.  

the code behind
  1. using System;
  2. using System.Data;
  3. using System.Configuration;
  4. using System.Web;
  5. using System.Web.Security;
  6. using System.Web.UI;
  7. using System.Web.UI.WebControls;
  8. using System.Web.UI.WebControls.WebParts;
  9. using System.Web.UI.HtmlControls;
  10. using System.Collections.Specialized;
  11.  
  12. public partial class _Default : System.Web.UI.Page
  13. {
  14. protected void Page_Load(object sender, EventArgs e)
  15. {
  16.  
  17. }
  18. protected void btnSubmit_Click(object sender, EventArgs e)
  19. {
  20. //declare an array to hold the selected options
  21. StringCollection options = new StringCollection();
  22.  
  23. //iterate through the list items in the list box
  24. foreach (ListItem item in lstOptions.Items)
  25. {
  26. //if the item was selected by the user this
  27. //store it in our array
  28. if(item.Selected)
  29. options.Add(item.Value);
  30. }
  31.  
  32. //I am merely confirming the choices back to the client
  33. //this is where you would save the contents of options
  34. //to your database.
  35. rprChoices.DataSource = options;
  36. rprChoices.DataBind();
  37. }
  38. }
  39. ;
Last edited by hollystyles : Mar 29th, 2007 at 4:32 pm. Reason: Add code example
==========================================
Yadda yadda yadda...
Web junky, fevered monkey
Reply With Quote  
Forums | Blogs | Tutorials | Code Snippets | Whitepapers | RSS Feeds | Advertising
All times are GMT -4. The time now is 9:30 am.
Newsletter Archive - Sitemap - Privacy Statement - Contact Us
Forum system based on vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
©2003 - 2008 DaniWeb® LLC