我正在用户可以输入客户记录的表格上工作.... 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>
}
我的问题是,部分视图正确呈现但部分视图模型没有价值,,,为什么会这样,我做错了...请帮助,,,谢谢适合您的时间
答案 0 :(得分:2)
(自从我在评论中提到它并且这不是正确的地方时将其作为答案发布)
您的操作CheckRecord(string enginNo)
采用enginNo
的参数,但您在没有任何争论的情况下调用它。这反过来意味着你的数据库查找很可能不会返回任何结果,除非你得到结果..
var results = db.StockDMs.Where(c => c.EngineNumber == null);
确保操作获得有效参数,例如:
@{ Html.RenderAction("CheckRecord", "Sales", new { enginNo = "abc123" }); }