[英]Making an URL out of modified database fields
我有一個按鈕,當用戶單擊它時,它必須轉到指定的URL。
但是我必須使用來自數據庫的值來創建URL,最重要的是,我需要先修改來自數據庫的值,然后再使用URL。
假設數據庫中的值是
country- France
hotel - Hotel Movenpick
現在,首先我必須將大寫字母從上面的值轉換為小寫,然后將空格轉換為“-”號。
然后,我將不得不使用這些修改后的值創建我的URL,如下所示。
http://www.travel.com/france/hotel-movenpick
我以前從未做過。 請為執行此任務提供一些參考。 我在用C#編碼。
怎么樣:
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);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.