簡體   English   中英

按名稱排序 - 西里爾字母

[英]Order by name - cyrillic letters

我有一個從存儲過程返回街道名稱的方法,就像這樣

public List<NameUlici> GetAllNameUlici()
        {
            using (var con = new SqlConnection(ConnectionStringManager.GetConnectionManager()))
            {
                var model = con.Query<NameUlici>("GetNameUlici", commandType: CommandType.StoredProcedure).ToList();
                return model;
            }
        }

這是存儲過程,它只是返回街道名稱

ALTER PROCEDURE [dbo].[GetNameUlici]
    
AS
    SELECT name,ime_1251
    FROM ULICI_KARPOS
    RETURN

並返回 controller I go

public ActionResult GetAllStreets()
        {
            var result = dataRepo.GetAllNameUlici();
            return Json(result);
        }

然后我用這些值填充一個下拉列表。 我得到的值是西里爾字母,所以我不知道如何按名稱排序它們,比如 A - Z。目前,我有這樣的東西

$.getJSON(url, function (streets) {
            $("#streetNameID").append('<option></option>');
            $.each(streets, function (index, value) {
                $("#streetNameID").append('<option value="' + value.ime_1251 + '">' + value.ime_1251 + '</option>');
            });
        });

但下拉值到處都是 - 未排序,同時降序和升序。 關於如何進行的任何建議?

你如何“組成” <option>是非常糟糕的。 如果ime_1251中有"< ,一切都會中斷......

$("#streetNameID").append(new Option(value.ime_1251, value.ime_1251));

仍然。 您的問題似乎是 C# 方面的......並且在您的所有 C# 代碼中,有一些我看不到的東西:訂購。 考慮到您使用的是存儲過程,您可以在 SP 中對數據進行排序:

SELECT name,ime_1251
FROM ULICI_KARPOS
ORDER BY ime_1251
RETURN

或者您可以訂購數據 C# 端:

var model = con.Query<NameUlici>("GetNameUlici", commandType: CommandType.StoredProcedure)
    .OrderBy(x => x.ime_1251)
    .ToList();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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