【发布时间】:2017-01-16 13:16:24
【问题描述】:
我有一个带有一些代码的视图(viewOne):
$('#btnNext').on('click', function () {
var id = $('#ID').val();
window.location.href = '@Url.Action("myAction", "myController")/?id=' + id;
...
在我的控制器中:
public ViewResult myAction(string id)
{
//get model from id
return View("viewTwo", model);
}
在视图二中:
<tbody>
@foreach (var c in Model)
{
<tr class="table-row ">
...
<td>
<div>@Html.DisplayFor(m=>c.Name)</div>
</td>
...
</tr>
}
</tbody>
我的问题:
单步执行控制器返回 View("viewTwo", model);然后通过 viewTwo 中的 @foreach 循环,然后进一步跨过 _Layout.cshtml 中的 @RenderBody(),viewOne 被重新加载,而不是显示 viewTwo!
非常感谢任何帮助!
【问题讨论】:
-
_Layout.cshtml 是否渲染 viewOne?
-
所以即使你在浏览器中直接访问
myAction,它会渲染 viewOne 内容而不是 viewTwo 吗?使用您在问题上发布的代码,现在应该会发生。 -
@Shyju,是的,我最终得到了 viewOne,viewTwo 从来没有出现过,我知道它不应该发生,这就是我感到困惑的原因......
-
@BlueEyedBehemoth,是的
-
你能添加
#btnNext的html吗,具体来说,它是一个`
标签: asp.net-mvc twitter-bootstrap asp.net-mvc-5