【问题标题】:display the first N words from database field in DataList显示 DataList 中数据库字段的前 N ​​个单词
【发布时间】:2023-03-16 13:15:01
【问题描述】:

我需要从数据库中获取前 n 个单词并将它们显示在 DataList 中。我正在使用 LINQ to SQL。 我已经搜索了很多但找不到这样做的方法,我正在尝试制作一个包含 300 个字符的文章列表和一个阅读更多链接,我将能够处理阅读更多按钮并显示文章页面但是我坚持在文章列表中显示有限的单词。我使用 DataList 是因为我想简单地显示其他字段 它。

我可以制作我的表格列的数组,并且我有行数:

var arc = (from a in data.Articles select a).Count();
var ar = (from a in data.Articles select a.ArticleText).ToArray();
var article = ar; 

这就是我从字符串中提取 5 个单词的方法:

string firstWords = Regex.Match(testString, @"^(\w+\b.*?){5}").ToString();

我不能让这些东西一起工作

是否可以对数组使用 eval 表达式?

更新:我在我的问题中写了 gridview 而不是 datalist。

update2:我可以通过将 放入 datalist 来制作一组有限的单词并将其绑定到 datalist 但我不能使用其他数据源(如 linqdatasource)来使用 eval 显示其他数据字段,因为我使用 datalist1.DataSource = ar。

代码:

string[] limitedarticle;
limitedarticle = new string[arc];

for (int i = 0; i < arc; i++)
 {

   limitedarticle[i] = Regex.Match(article[i], @"^(\w+\b.*?){5}").ToString();


 }
datalist1.DataSource = ar ;
datalist1.DataBind();

感谢任何指导和帮助

【问题讨论】:

    标签: c# asp.net linq datalist


    【解决方案1】:

    您可以通过以下方式获取n 行:

    var arc = (from a in data.Articles select a).Take(5);
    

    这会给你5 行。然后,您可以实际获取该结果并将其数据绑定到 GridView

    要限制来自ArticleText 的字数,请执行以下操作:

    var ar = (from a in data.Articles select a.ArticleText.Take(50));
    

    【讨论】:

    • 但是如何限制从 ArticleText 中显示的字数
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-10
    • 1970-01-01
    • 1970-01-01
    • 2020-10-27
    • 2020-12-15
    相关资源
    最近更新 更多