代码之家  ›  专栏  ›  技术社区  ›  Mark Fenech

MVC DropDownList用于获取2个名称

  •  3
  • Mark Fenech  · 技术社区  · 11 年前

    嗨,我正在为学校作业开发一个银行系统。你能在下拉列表中传递2个名字吗?例如:

    这是模型

    public TransferModel(int bankId, int userid)
    {
        myAccount = new Service1Client().getAccountByID(bankId);
        AccountList = new SelectList(new Service1Client().RetrieveAllAccountsByAccountId(userid), "Id", "Name");
    }
    

    我正在将Id,Name设置为选择列表

    视图:

    <div class="editor-field">
        Withdraw From: <%: Html.DropDownListFor(model =>  model.myAccount.Id, Model.AccountList)%>
    </div>
    

    “选择”列表将仅显示帐户的名称。是他们随时在下拉列表中显示姓名和余额的方式。

    谢谢

    1 回复  |  直到 11 年前
        1
  •  2
  •   Ant P    11 年前

    以下内容将是一种非常整洁的处理方式:

    public class AccountModel
    {
        public string Id { get; set; }
        public string Name { get; set; }
        public Decimal Balance { get; set; }
    
        public string AccountSummary
        {
           get
           {
               return String.Format("{0} ({1:C})", Name, Balance);
           }
        }
    }
    
    public class TransferModel
    {
        public IList<AccountModel> Accounts { get; set; }
        public string SelectedAccountId { get; set; }
        /* Whatever other properties your view needs */
    }
    

    键入您的视图 TransferModel 并执行:

    <%: Html.DropDownListFor(model =>  model.SelectedAccountId,
        new SelectList { Model.Accounts, "Id", "AccountSummary" )%>