我有一个按钮,当用户点击它时,它必须转到指定的URL。
但是我必须使用来自数据库的值创建我的URL,最重要的是,我需要修改来自数据库的值,然后才能创建一个URL。
假设数据库中的值为
country- France
hotel - Hotel Movenpick
现在首先我必须将大写字母从上面的值转换为小写,然后将空格转换为“ - ”符号。
然后我将使用以下修改后的值创建我的网址。
http://www.travel.com/france/hotel-movenpick
我以前从未这样做过。请为我提供一些参考来完成这项任务。我在c#编码。
答案 0 :(得分:1)
怎么样:
string fixedCountry = country.ToLower(CultureInfo.InvariantCulture)
.Replace(" ", "-");
string fixedHotel = hotel.ToLower(CultureInfo.InvariantCulture)
.Replace(" ", "-");
string url = "http://www.travel.com/" + fixedCountry + "/" + fixedHotel;
请注意,此不会修复任何重音字符或其他符号。如果你想这样做会变得更复杂。这取决于您对数据的信任程度,不包含这类内容。
如果你需要使这个更复杂,或者需要在其他任何地方进行,我建议你创建一个“字符串修复”方法,适当地对其进行调整,然后为你的每个字段调用它。
编辑:删除重音字符很有趣。 .NET使这相当容易,但我不知道它会为你的“ae”情况做些什么 - 你可能需要特殊情况。试试这个,作为一个起点:
static string RemoveAccents (string input)
{
string normalized = input.Normalize(NormalizationForm.FormKD);
Encoding removal = Encoding.GetEncoding
(Encoding.ASCII.CodePage,
new EncoderReplacementFallback(""),
new DecoderReplacementFallback(""));
byte[] bytes = removal.GetBytes(normalized);
return Encoding.ASCII.GetString(bytes);
}