显示大量文本

本文关键字:文本 显示 | 更新日期: 2023-09-27 18:06:40

我希望在页面上显示电子邮件地址列表,然后可以复制,然后粘贴到电子邮件客户端。他们为什么要这样做不关我的事,我只是必须这样做。

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

任何建议都将非常感谢!

感谢

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

显示大量文本

我测试了这个(超级简单的)标记,它可以很好地复制/粘贴到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";
        }
    }
}

文本区?可以另外有一些javascript选择所有的文本在点击进入框

负责任的编码的一部分是引导你的用户远离搬起石头砸自己的脚。

我已经说过,我可能会输出数据与文字,字符串生成器和单独的条目与<br />,并作为Marc建议包装所有的div与溢出和高度设置。

列表有多长?根据电子邮件地址列表的大小,你可以做各种各样的事情。对于大多数大小的列表实现一个可滚动的列表视图,对于非常大的列表实现一个可分页的gridview,如果列表非常小则实现一个单一的文本框。

我会把它放在Textarea元素上。这样可以很容易地复制。

我会使用类似ListBox的东西,这样您就可以遍历它们,而无需使用分隔符解析列表。另一种选择是采用Outlook样式,并在文本框中显示地址,并以分号作为分隔符。

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

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