Deenuji Ответов: 2

установить выбранное значение в dropdownlist в MVC бритвы


я хочу установить мое выбранное состояние в этот выпадающий список состояний. у меня нет никакой идеи, чтобы установить это . пожалуйста, помогите кому-нибудь с этим нижеприведенным кодом.

Модель(ClaimModel ):
public DataSet Bindcarrier()
        {
            //StudentContext db = new StudentContext();
            try
            {
                con.Open();
                DataSet ds = new DataSet();
                if (con.State == ConnectionState.Open)
                {
                    SqlCommand cmd = new SqlCommand("usp_ddlb_ref_carrier_login", con);
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@pi_is_active", 1);
                    cmd.Parameters.AddWithValue("@pi_login_id", DBNull.Value);
                    SqlDataAdapter da = new SqlDataAdapter(cmd);

                    da.Fill(ds);
                    return ds;
                }
                else
                {
                    return ds;
                }

            }
            finally
            {
                con.Close();
            }
        }


Смотреть:

@HTML-код.Dropdownlist для("государство", нуль, новые { @класс = "drplist" })

Контроллер:
[HttpGet]
    public ActionResult Create(Boolean Name)
    {                   ClaimModel obj = new ClaimModel();
                        DataSet ds = obj.Bindstate();

                        ViewBag.fname = ds.Tables[0];
                        List<SelectListItem> items = new List<SelectListItem>();
                        foreach (System.Data.DataRow dr in ViewBag.fname.Rows)
                        {
                            items.Add(new SelectListItem { Text = @dr["state_short_name"].ToString(), Value = @dr["state_id"].ToString() });
                        }

                        ViewBag.State = items;

      }

2 Ответов

Рейтинг:
2

Kornfeld Eliyahu Peter

SelectListItem[^] имеет свойство Selected...установите его для нужного элемента, и он будет выбран...

items.Add(new SelectListItem { Text = @dr["state_short_name"].ToString(), Value = @dr["state_id"].ToString(), Selected = (@dr["state_id"] == any_index) });


Deenuji

спасибо, Питер. но он выбран только в значении списка, но не отражается в выпадающем списке . нам нужно добавить любой выбранный параметр элемента в раскрывающийся список?

Рейтинг:
0

Richard Maly

Я использовать DropdownListFor()

У которого есть немного другой подход, я использую модель, а не сумку для просмотра. Модель-это отдельный класс, вызываемый контроллером. Пример приведен в этом переполнении стека c# - пример MVC ViewModel - переполнение стека[^]


Для того чтобы это работало в вашей модели, вам нужно 2 свойства.

public List<SelectListItem> items {get;set;}
public int MyAssignedToValue {get;set;}

тогда на ваш взгляд
@Html.DropdownListFor(a=> a.MyAssignedToValue, Model.items)