iT邦幫忙

0

想請問DropDownList選單編輯時要如何顯示編輯前的值

是這樣的,我有做一個DropDownList的功能,大致上功能都可以使用,只有編輯時
無法一開始就顯示編輯前的值

  public List<NCODE> GetOperatingOptions()
        {
            List<NCODE> optins = new List<NCODE>();             
            optins.Add(new NCODE() { NC_CODE = "", NC_NAME = "請選擇" });
            optins.Add(new NCODE() { NC_CODE = "0", NC_NAME = "共通作業" });
            optins.Add(new NCODE() { NC_CODE = "1", NC_NAME = "醫囑作業" });
            return optins;         
        }

這是我選單裡的值
假如果新增資料時下拉式裡選共通作業,那我編輯時,要怎麼一點進去就會先看到共通
作業這個選項?
view model,會存入資料庫的是OPERATING

 public string OPERATING { get; set; }
 public List<NCODE> OperatingOptions { get; set; }

controller

 public ActionResult HDPharseEdit(string id)
        {
            HDPharseViewModel model = GetHDPharseViewModel(id);
            HDPharseService hsrvc = new HDPharseService();      
            model.OperatingOptions = GetOperatingOptions();
         
            return View("HDPharseEdit", model);
        }

我目前是想到用foreach來抓取,可是我好像有下錯,能否請各位告知一下?

 foreach (var item in model.OperatingOptions)
            {
                model.OperatingOptions.Add(item);
            }

2 個回答

0
優悠
iT邦新手 4 級 ‧ 2019-01-02 17:09:51
最佳解答

給你參考


//SelectListItem可以取代XXXList
        private class XXXList
        {
            public string Value { get; set; }
            public string Text { get; set; }
        }
        
public SelectList GetXXX(string Value = null)
        {
            List<XXXList> temp = new List<XXXList>();
            int iYear = DateTime.Now.Year;
            for (int I = (iYear - 3); I <= iYear; I++)
            {
                temp.Add(new XXXList() { Value = I.ToString(), Text = I.ToString() });
            }

            return new SelectList(temp, "Value", "Text", Value);
        }

DropDownList要用SelectList

2
攻城屍
iT邦新手 5 級 ‧ 2018-12-28 15:48:21

我寫了一隻範例給你參考

https://dotnetfiddle.net/XgMUhQ


使用 @Html.DropDownListFor(model => model.Question, list, new { @class="form-control" }) 這個 HtmlHelper 的時候會自動將 Question 值選取

tenno081 iT邦新手 4 級 ‧ 2018-12-28 18:14:59 檢舉

你好,我前端也是這樣做

<div class="col-input">
                               @Html.DropDownListFor(m => m.OPERATING, new SelectList(Model.OperatingOptions, "NC_CODE", "NC_NAME"), new { @class = "form-control" })
                            </div>

只是我希望我進入編輯時能看到我編輯前的值

攻城屍 iT邦新手 5 級 ‧ 2018-12-30 13:50:10 檢舉

你的 OPERATING 有值的話就會幫你選擇編輯前的選項了

我要發表回答

立即登入回答