簡體   English   中英

根據修改后的數據庫字段制作URL

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM