删除字符串字符后,comper string到字符串



我有一个我用作URL参数s查询的字符串,我需要获取所有相关的数据,以获取"清洁URL"但是我无法将其构成我的DB字符串更新,现在是0个结果`

查看:

<a href="@Url.Action("Index","schools",
    new { @venue =Html.ResolveSubjectForUrl( gig.Venue)})">@gig.Venue
</a> 

控制器:

public ActionResult Index(string venue)
{
    var testq = _context.LectureGigs.Where(v => v.Venue.StartsWith(venue));
    /just made the query shorter for clear code 
}
public static class UrlExtensions
{
    public static string ResolveSubjectForUrl(this HtmlHelper source, string subject)
    {
        return Regex.Replace(Regex.Replace(subject, "[^\w]", ""), "[-]{2,}", "");
    }
}

解决此问题的最简单方法是将您的'已解决'字符串存储在数据库中,作为venue的一部分。

例如:

class Venue
{
    public string Name { get; set; }
    public string Slug { get; set; }
}

如果将其存储在类似的表格中:

CREATE TABLE Venue
(
    [Name] nvarchar(512) NOT NULL,
    [Slug] nvarchar(512) NOT NULL PRIMARY KEY
)

然后找到该场地的演出变得很简单:

_context.LectureGigs.Where(v => v.Venue.Slug.StartsWith(slug));

显然,当您保存Venue时,您需要使用ResolveSubjectForUrl中的值填充slug值(您可以用作string扩展名或static方法,而无需HtmlHelper参数)

相关内容

  • 没有找到相关文章

最新更新