【问题标题】:How select data from Multi Database in MVC4如何从 MVC4 中的多数据库中选择数据
【发布时间】:2016-07-23 11:19:52
【问题描述】:

我有两张桌子。第一个表 Product 包含列 product idnameDepartment_id。第二个表Departments 包含列Department idname

我想创建一个页面以插入到 Product 表中的 Products 详细信息,并且我希望在此页面上用 Departments 名称填充组合框。

【问题讨论】:

  • 通过添加示例改进您的问题
  • 我的意思是当打开页面插入新产品时,组合框填写部门名称你了解我吗?
  • 模棱两可的问题。
  • 没有一个字
  • 请花点时间阅读本文以便我们为您提供帮助:stackoverflow.com/help/how-to-ask

标签: asp.net asp.net-mvc asp.net-mvc-4 razor


【解决方案1】:

虽然我们不清楚您的问题。但不知何故,我明白了你想要什么..

模型类

public class Product
{
    public int ProductId { get; set; }

    public string ProductName { get; set; }
}

public class Departments
{
    public int DepartmentID{get;set;}
    public string DepartmentName {get;set;}
}

控制器

public class HomeController : Controller
{
    [HttpGet]
    public ActionResult Index()
    {
          List<Departments> deps = new List<Departments>();

        deps.Add(new Departments() {DepartmentID=1, DepartmentName="IT"});
        deps.Add(new Departments() { DepartmentID = 2, DepartmentName = "HR" });

        ViewBag.lstDeps = deps;

        return View(new Product());
    }

查看

    @model HelloWorldMvcApp.Product
@{
    Layout = null;
}

@{
   IEnumerable<HelloWorldMvcApp.Departments> CDrop = ViewBag.lstDeps;


        List<SelectListItem> selectList = new List<SelectListItem>();
        foreach (var c in CDrop)
        {
            SelectListItem i = new SelectListItem();
            i.Text = c.DepartmentName.ToString();
            i.Value = c.DepartmentID.ToString();
            selectList.Add(i);
        }

}
<!DOCTYPE html>
<!-- template from http://getbootstrap.com/getting-started -->

<html lang="en">
    <head>
        <meta charset="utf-8">

    </head>

    <body>
        <div class="container">
            <div class="col-md-6 col-md-offset-3">
                <h1>Hello Stranger</h1>

                @Html.DropDownList("DEpartments", new SelectList(selectList, "Value","Text"))

                @using (Html.BeginForm())
                {
                    <div class="form-group">
                        @Html.LabelFor(m => m.ProductName)
                        @Html.TextBoxFor(model => model.ProductName, new {@class="form-control"}) 

                    </div>

                }

                <br/><br/>

            </div>
        </div>

        <!-- JS includes -->
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
        <script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>

        <script src="//ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js"></script>
        <script src="//ajax.aspnetcdn.com/ajax/mvc/4.0/jquery.validate.unobtrusive.min.js"></script>
    </body>
</html>

Working Demo

【讨论】:

    【解决方案2】:

    您可以创建一个组合产品和部门的模型,并将其从控制器传递到视图。


    例如:

    public class CompositeModel
    {
         public Product product { get; set;}
         public Department department { get; set;}
    }
    

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2019-03-29
      • 1970-01-01
      • 1970-01-01
      • 2013-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多