Выпадающий список для текста параметров выбора (из базы данных) становится вертикально одинарной буквой с помощью C # razor

#c# #sql-server #asp.net-mvc #loops #dropdownlistfor

#c# #sql-сервер #asp.net-mvc #циклы #выпадающий список для

Вопрос:

Я пытаюсь создать выпадающий список для из столбца dataset в моей базе данных SQL Server. Я успешно связал данные. Однако, на вид, данные выпадающего списка имеют текст по вертикали.

Пожалуйста, посмотрите на экран, снятый ниже:

Когда вы видите захваченное изображение, список становится вертикальным, а одиночная буква становится опцией выбора

Это процедура сохранения, которую должен отображать параметр выпадающего списка

Что вызывает это? Пожалуйста, помогите!

Я просто собираюсь опубликовать соответствующий код, чтобы его было легко увидеть.

Вот строка html-кода (я поставил индекс 0 для savedCompCoList только для тестирования, чтобы получить только первую строку):

 <div>@Html.DropDownListFor(x => x.objBV.objCompCo.SavedCompCoSelected, new SelectList(Model.objBV.objCompCo.SavedCompCoList[0].CompCo_ID_With_date_List), "Select List", new { style = "width: 250px;" }))</div>
  

Используется xmlDocument для подключения к базе данных:

 public static XmlDocument GetSavedCompCo()
{
    XmlDocument xmlTmp = DatabaseLib.RunStoredProcedure(UDV.spGetSavedCompCoListBV, UDV.connStringUserDB);
  
    return xmlTmp;
}
  

Использование веб-метода:

 [WebMethod]
public XmlDocument GetSavedCompCo() { return BDOLibrary_Val_BV.CompsLib.GetSavedCompCo(); }
  

Моя модель — вот цикл, который, хотя (это может быть причиной):

 public class CompCo
{
        private readonly BDOWebService.BDOWebService webS = new BDOWebService.BDOWebService(); //EC: web service

        //EC: variables
        public List<SavedCompCo> SavedCompCoList { get; set; }
        public int SavedCompCoSelected { get; set; }

        public CompCo()
        {
            initSavedCompCoList();
            Comps = new List<Company>();
        }

        private void initSavedCompCoList()
        {
            SavedCompCoList = new List<SavedCompCo>();
            XmlDocument xmlTmp = webS.GetSavedCompCo();

            XmlNodeList nodeListSavedCompCo_ID_With_Date = xmlTmp.GetElementsByTagName("CompCo_ID_With_Date");

            for (int i = 0; i < nodeListSavedCompCo_ID_With_Date.Count; i  )
            {
                SavedCompCo SavedCompCoTemp = new SavedCompCo();
                SavedCompCoTemp.CompCo_ID_With_date_List = nodeListSavedCompCo_ID_With_Date[i].InnerText.Trim();

                SavedCompCoList.Add(SavedCompCoTemp);
            }
    
        }
}
  

Пожалуйста, помогите и заранее спасибо!

Комментарии:

1. Похоже Model.objBV.objCompCo.SavedCompCoList[0].CompCo_ID_With_date_List , это строка. Поэтому, когда вы заполняете выпадающий список одним строковым значением, привязка loginc будет проходить через строку и заполнять отдельные символы как отдельные элементы в выпадающем списке.

2. Вы хотите отображать / заполнять только одно значение даты в выпадающем списке?

3. @ChetanRanpariya спасибо за комментарий. Я хочу отобразить одно единственное значение даты, подобное этому «1 сентября 28 2020 8:17 утра», в виде строки в выпадающем списке. Я думаю, что индекс строки был разделен, поэтому он становится, например, «1» «сентябрь». как я это исправлю. Спасибо

4. Проблема решена! Модель должна быть в списке <строка> . Спасибо