1

模型 1 数据库客户端

clientID,client(name),clientcontact 和 ICollection Countys

模型 2 dbcounty

CountyID,clientID,county(name),countyOther

概述:

创建具有(视图)县操作链接的客户端视图 - 完成 + 工作

创建具有(创建、编辑、删除、详细信息)操作链接的县视图 - 完成 + 部分工作

去我的县:

@Html.ActionLink("Countys", "Index", "County", new { id=item.ClientID },null) 

从县到我的新:

@Html.ActionLink("Create New", "Create", new { id = Model.ClientID})

从控制器到视图(传递 clientID 而不是 CountyID)

 public ActionResult Create(int id=0)
    {
        dbClient Client = db.Clients.Find(id);
        if (Client == null)
        {
            return HttpNotFound();
        }
        return View(Client);
    }

在视图中:这是问题所在,我想创建一个县而不是使用来自客户的县的集合,但同时想展示我们正在为哪个客户创建这个县

@model OilNGasWeb.ModelData.dbClient 

@{
ViewBag.Title = "Create";
}

<h2>Create County</h2>

@Html.Partial("_CreateCounty", Model.County) <----** Here ** Model.County is a string and Model.Countys is an icollection, i just want the normal model ???

<div>
@Html.ActionLink("Back to List", "Index", new { id=Model.ClientID})
</div>

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}

部分视图:似乎吓坏了,因为正在传递 Icollection 或字符串 -.- 但我只是想要模型,因为我假设 MVC 框架需要这样才能正确创建插入?

@model OilNGasWeb.ModelData.dbCounty

@using (Html.BeginForm()) {
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)

<fieldset>
    <legend>Countys</legend>
  //data
  //data
  //data
</fieldset>

对不起,如果这没有意义,请告诉我你需要什么,我还在学习 mvc

请允许我用我更了解的内容修改上面的问题

想想一个 vb.net 应用程序

(您有客户并且列表中有 id)在选择一个客户后,您要显示另一个列表(这次是可编辑的)和县信息(现在您只想获取县信息,为数据库创建一个插入行并选择客户客户ID)

更好地解释它,很难为 MVC 创建这样的东西

另一种选择是以某种方式创建新县,包括客户(及其各自的 ID)的下拉列表并使用 ID 以及可编辑的县信息?

4

1 回答 1

2

由于您正在跟踪哪些县属于每个客户,所以我不明白为什么您需要传递除 ClientID 之外的任何内容以进行创建。

所以你的创建视图可能看起来像

@model OilNGasWeb.ModelData.dbClient 

@{
    ViewBag.Title = "Create";
}

<h2>Create County</h2>

@Html.Partial("_CreateCounty", new OilNGasWeb.ModelData.dbCounty() { clientID = Model.ClientID } ) <!-- pass the client ID to the partial

<div>
    @Html.ActionLink("Back to List", "Index", new { id=Model.ClientID})
</div>

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}

对于您的 Edit/Delete/View Details 视图,您应该能够只从模型中传递 CountyID 或对象本身。

于 2013-07-02T16:30:56.020 回答