C# 需要所有产品名称采用连字符格式“;“某些产品名称”;但也可以在不添加连字符的情况下正确显示

C# 需要所有产品名称采用连字符格式“;“某些产品名称”;但也可以在不添加连字符的情况下正确显示,c#,asp.net,sql-server,asp.net-mvc,C#,Asp.net,Sql Server,Asp.net Mvc,这是否可以通过只使用数据库中的一个名称列来实现 假设我的products表的name字段中有以下值: Samsung Blu-Ray Writer 当html呈现在视图中时,我将解析字符串并用替换所有空格 连字符并删除所有大写字母,这样看起来就像:三星蓝光笔 单击此产品链接时,它将向服务器发送获取的请求 该产品名为三星蓝光笔。当然在数据库里 产品名称为三星蓝光笔。因此,当我创建查询时,我当然会 需要再次将所有连字符替换为空格,但这也将删除蓝光中所需的“-” 我知道我可以只使用两个字段,比如Pr

这是否可以通过只使用数据库中的一个名称列来实现

假设我的products表的name字段中有以下值:

Samsung Blu-Ray Writer
当html呈现在视图中时,我将解析字符串并用替换所有空格 连字符并删除所有大写字母,这样看起来就像:三星蓝光笔

单击此产品链接时,它将向服务器发送获取的请求 该产品名为三星蓝光笔。当然在数据库里 产品名称为三星蓝光笔。因此,当我创建查询时,我当然会 需要再次将所有连字符替换为空格,但这也将删除蓝光中所需的“-”

我知道我可以只使用两个字段,比如ProductName和DisplayName。但这看起来像 这是一种浪费,希望有一个简单的解决办法

即使最初将所有产品名称保存为连字符,我仍然会丢失
当我解析字符串以将其替换为空格以用于显示时,实际产品名称中的连字符。

您不需要在第二次行程中将连字符替换为空格。看看堆栈溢出是如何实现的。将ID放在产品名称之前的URL中,然后在回程中按ID查找产品。这样做,,无论您如何在URL中格式化产品名称,这只是为了显示目的。

如果需要,有两个字段来存储显示名称和产品名称一点也不浪费。我只是希望有一些简单的逻辑,可以用来将显示名称转换为连字符名称,然后再转换回来,而不丢失连字符本应使用实际的产品名称。为什么需要重新更改?搜索引擎优化和其他美化字符串格式应该是一个方向。经过修饰的字符串不应该再被用来识别数据库中的产品。是的,我知道我可以这样做,搜索速度也会更快。比如说,我们正在开发超干净的url:vs绝对没有问题。你想得太多了。