部分视图上没有加载数据,MVC

时间:2015-04-06 06:42:30

标签: asp.net-mvc asp.net-mvc-4 asp.net-mvc-5 partial-views

我正在用户可以输入客户记录的表格上工作.... View是带有Create controller的脚手架。 在'创建'查看,用户可以输入'engineNo'检查其传递给另一个动作的详细信息" CheckRecord" ,,从视图中可以看出......

<form>
    <input type="text" id="enginNo" />
    <input type="button" value="search" id="btnSearch" />
</form>

@using (Html.BeginForm("Index","Home",FormMethod.Get)) 
{
    @Html.AntiForgeryToken()
    <div id="info">
@{Html.RenderAction("CheckRecord","Sales");}
</div>
   some create fields
  }

创建和&#34; CheckRecord&#34;行动是,

public ActionResult Create()
{
ViewBag.CustomerId = new SelectList(db.CustomersDMs, "CustomerId", "Name");
ViewBag.SMClientBranchId = new SelectList(db.SMClientBranchesDMs, "SMClientId", "Name");
  ViewBag.EngineNumber = new SelectList(db.StockDMs, "EngineNumber", "ChasisNumber");
return View();
}

public ActionResult CheckRecord(string enginNo)
{
var results = db.StockDMs.Where(c=>c.EngineNumber ==enginNo);
return PartialView("_part",results);
}

我的部分观点,,,

@model IEnumerable<SM.CRM.AutosLoan.Models.Core.DomainModels.StockDM>
@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.AutoCompanyBrand.Name)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.SMClientBranch.Name)
        </td>
}

我的问题是,部分视图正确呈现但部分视图模型没有价值,,,为什么会这样,我做错了...请帮助,,,谢谢适合您的时间

1 个答案:

答案 0 :(得分:2)

(自从我在评论中提到它并且这不是正确的地方时将其作为答案发布)

您的操作CheckRecord(string enginNo)采用enginNo的参数,但您在没有任何争论的情况下调用它。这反过来意味着你的数据库查找很可能不会返回任何结果,除非你得到结果..

var results = db.StockDMs.Where(c => c.EngineNumber == null);

确保操作获得有效参数,例如:

@{ Html.RenderAction("CheckRecord", "Sales", new { enginNo = "abc123" }); }