Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 razor视图未显示导航属性值_Asp.net Mvc 3_Razor - Fatal编程技术网

Asp.net mvc 3 razor视图未显示导航属性值

Asp.net mvc 3 razor视图未显示导航属性值,asp.net-mvc-3,razor,Asp.net Mvc 3,Razor,我有以下行动方法:- [HttpPost] public ActionResult Create(int questionid, Answer a) { if (ModelState.IsValid) { repository.AddAnswer(a); repository.Save(); return PartialView("_details"

我有以下行动方法:-

[HttpPost]
        public ActionResult Create(int questionid, Answer a)
        {
            if (ModelState.IsValid)
            {
        repository.AddAnswer(a);
             repository.Save();
             return PartialView("_details",a);
            }
            return View(a);
下面是详细的部分视图:-


@DisplayFor(modelItem=>Model.Description)
@DisplayFor(modelItem=>Model.Answer\u Description.Description)
@ActionLink(“删除”、“删除”、“回答”,
新的{id=Model.AnswersID},
新选择
{
确认=“是否确实要删除此答案?”,
HttpMethod=“Post”,
UpdateTargetId=Model.AnswersID.ToString()
})

我面临的问题是,
@Html.DisplayFor(modelItem=>Model.Answer\u Description.Description)
值在ajx调用后不会自动显示,除非我刷新网页。那么可能会有什么问题呢?

我怀疑是延迟加载问题(你提供的信息很难确定,但是)

As Model.Description似乎是一个基本(字符串)属性,但Answer\u Description.Description是导航属性的基本属性

您确定正确加载了答案描述吗

编辑:更准确地说:您的操作将收到一个答案:当通过时,它是否具有答案\u Description.Description?
如果没有,您应该在返回视图之前从数据库中获取答案描述…

谢谢您的回复,我不知道如何检查它是否成功加载,但如果我刷新页面,答案描述将成功显示…尝试:在控制器中放置调试点:进入“答案a”内部,并检查Model.Answer\u Description,以查看说明。如果它为空,或者在以这种方式调试时它是否工作,这是一个延迟加载问题,您应该在返回viewThank for r reply之前显式加载答案的说明,我通常使用该问题执行急切加载h对象或类似的senarios;但我可以确定如何在我的案例中应用Include?br我看到的原因是
UpdateTargetId
的值类似于
modelname.answerid
,但实际上,答案描述的呈现id类似于
Model.answer\u description.description
    <td>
        @Html.DisplayFor(modelItem => Model.Description)
    </td>
    <td>
        @Html.DisplayFor(modelItem => Model.Answer_Description.description)
    </td>
    <td>
     @Ajax.ActionLink("Delete", "Delete", "Answer",
    new { id = Model.AnswersID },
      new AjaxOptions
      {
          Confirm = "Are You sure You want to delete this Answer ?",
          HttpMethod = "Post",
          UpdateTargetId = Model.AnswersID.ToString()
                    })


    </td>
    </tr>