这是一个使用存储过程填充复杂类型的实体项目,因此我可以将它们视为常规实体对象。
它给我的错误是Return("Index", model);
说'Use of unassigned local variable 'model'
。
以下是代码:
public ActionResult FilterCallReview(DateTime StartDate, DateTime EndDate, string searchField, string searchValue)
{
ObjectResult<MasterMxieCallReview_Result> model;
if (String.IsNullOrWhiteSpace(searchValue))
{
model = spdb.MasterMxieCallReview(StartDate, EndDate);
}
else
{
if (searchField.ToLower() == "contract_number")
{
// Check if we need to ignore the date
if (1 == 1)
{
// Run the SP with dates
model = spdb.MasterMxieCallReview_ContractNum(StartDate, EndDate, searchValue);
}
else
{
// Run the SP without dates
model = spdb.MasterMxieCallReview_ContractNum(null, null, searchValue);
}
}
else if (searchField.ToLower() == "phone_number")
{
// Check if we need to ignore the date
if (1 == 1)
{
// Run the SP with dates
model = spdb.MasterMxieCallReview_ContractNum(StartDate, EndDate, searchValue);
}
else
{
// Run the SP without dates
model = spdb.MasterMxieCallReview_ContractNum(StartDate, EndDate, searchValue);
}
}
}
ViewBag.StartDate = StartDate.ToShortDateString();
ViewBag.EndDate = EndDate.ToShortDateString();
// Model should never be allowed to be null at this point
return View("Index", model);
}
根据我的知识,没有任何model
没有填充的路径,知道我在这里做错了什么?
答案 0 :(得分:2)
如果searchField.ToLower()
不是phone_number
或contract_number
,则不会初始化模型。
答案 1 :(得分:1)
(在if-else语句中)路径,它不会为名为“model”的变量赋值,因此有一个posibillity模型将为null。您应该考虑所有可能的方法,并确保对于每种情况,“模型”变量都有价值。
在'else if'之前应该有'else'语句,以便在每种情况下分配模型变量。