簡體   English   中英

MVC 5從另一個表填充下拉列表並保存值NOT KEY

[英]MVC 5 populate dropdown list from another table and save value NOT KEY

問題很簡單。 我想用來自另一個表的值填充DropDownList。 但我不想將它們與外鍵關聯。

我的模特

 public class Application1
 {
    public int Application1Id { get; set; }

    public string ApplicationType { get; set; }
 }

字段ApplicationType是應保留ApplicationType名稱的字段(來自其他表)

我的控制器:

// GET:應用程序1 /創建

public ActionResult Create()
{
    ViewBag.AppDataApplicationType = new SelectList(db.AppDataApplicationTypes, "AppDataApplicationTypeId", "Name");
    return View();
}

// POST: Application1/Create
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(Application1 application1)
{
    if (ModelState.IsValid)
    {
        db.Application1.Add(application1); 
        db.SaveChanges();
        return RedirectToAction("Index");
    }

    ViewBag.AppDataApplicationTypeId = new SelectList(db.AppDataApplicationTypes, "AppDataApplicationTypeId", "Name");     
    return View();
}

和我的看法:

<div class="form-group">
    <div class="col-md-5">
        <span class="glyphicon-asterisk" style="color:red;"></span>
        @Html.LabelFor(model => model.ApplicationType , htmlAttributes: new { @class = "control-label", style="margin-bottom:10px;" })
        @Html.DropDownListFor(model => model.ApplicationType, (SelectList) ViewBag.AppDataApplicationType, htmlAttributes: new { @class = "form-control" })
        @Html.ValidationMessageFor(model => model.ApplicationType, "", new { @class = "text-danger" })
    </div>
</div>

問題是,當我嘗試保存此內容時,一切正常,但保存的是id而不是值。

如果有任何幫助,我將不勝感激,請花費數小時嘗試解決問題...

嘗試改變

ViewBag.AppDataApplicationType = new SelectList(db.AppDataApplicationTypes, "AppDataApplicationTypeId", "Name");

ViewBag.AppDataApplicationType = new SelectList(db.AppDataApplicationTypes, "Name", "Name");

暫無
暫無

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

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