显示大量文本

时间:2011-08-26 15:26:55

标签: c# asp.net

我希望在页面上显示一个电子邮件地址列表,然后可以将其复制并粘贴到电子邮件客户端中。为什么他们希望以这种方式完成这件事并不是我所关心的,我只需要这样做。

我想知道的是展示这个的最佳方式是什么?我不确定是否应该使用巨型标签或文本框,或者是否有更好的东西。

任何建议都将不胜感激!

由于

编辑:不确定这是否重要,但地址是从数据库中提取的,所以我没有准备好将它们硬编码到页面中。我是ASP.NET新手和Web开发的新手,所以请耐心等待。

7 个答案:

答案 0 :(得分:3)

我测试了这个(超级简单的)标记,并且可以很好地复制/粘贴到Outlook 2010和Gmail中。

<div>
    user@domain.com<br />
    user@domain.com<br />
    user@domain.com<br />
    user@domain.com<br />
    user@domain.com<br />
    user@domain.com<br />
</div>  

编辑:是否紧凑或易于选择/复制要求?如果是,那么请说明您希望/需要的内容,以便提供适当的示例。


编辑2:根据所声明的地址列表大小,我认为这种标记模式最适合作为纯HTML解决方案。

E-mail Address Copy Instructions
    <ol>
        <li>Click inside the box below</li>
        <li>Press Ctrl-A to select all addresses</li>
        <li>Press Ctrl-C to copy all selected text</li>
    </ol>
    <textarea style="height: 150px;">user@domain.com
user@domain.com
user@domain.com
user@domain.com
user@domain.com
user@domain.com
user@domain.com
user@domain.com
</textarea>

编辑3:

假设您有一个List(Of String),这是一个例子。

标记:

<asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine" Height="150">

代码:(请原谅我的c#不完美,我通常用VB编写代码)

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        List<String> liAddresses = new List<String>();
        //Define list of addresses for demonstration purposes
        //Replace with fetch from DB
        for (int i = 1; i <= 50; i++)
        {
            liAddresses.Add(i.ToString() + "user@domain.com");
        }
        //Load TextBox with list of addresses, will render as <textarea>
        foreach (String strAddress in liAddresses)
        {
            TextBox1.Text += strAddress + "\r\n";

        }
    }
}

答案 1 :(得分:2)

textarea的?还可以使用一些javascript来选择点击框中的所有文字。

答案 2 :(得分:1)

负责任编码的一部分是指导您的用户远离自己的脚。

话虽如此,我可能会输出带有文字,字符串构建器和单独条目<br />的数据,并且正如Marc建议将所有内容包装在设有溢出和高度的div中。

答案 3 :(得分:0)

名单有多长?根据电子邮件地址列表的大小,您可以执行各种操作 - 即。为大多数尺寸实现可滚动列表视图,为非常大的列表实现分页gridview,或者如果列表非常小,则实现单个文本框。

答案 4 :(得分:0)

我会把它放在Textarea元素上。这种方式可以轻松复制。

答案 5 :(得分:0)

我会使用类似ListBox的东西,因此您可以迭代它们而无需使用分隔符解析列表。另一种方法是使用Outlook样式,并在分隔符作为分隔符的文本框中显示地址。

以分号分隔格式的一个好处是MailMessage类接受以分号分隔的收件人列表,因此这将使发送电子邮件的过程更容易。

答案 6 :(得分:-1)

我会使用可滚动的列表视图! 看一下这里的文档: http://msdn.microsoft.com/en-us/library/system.windows.forms.listview.scrollable.aspx