gpt4 book ai didi

asp.net-mvc-3 - Razor 局部 View 未呈现

转载 作者:行者123 更新时间:2023-12-01 23:01:18 27 4
gpt4 key购买 nike

如果我使用以下 Controller 方法:

public ActionResult Menu()
{
// do stuff...

return PartialView("viewName", navLinks);
}

像这样调用 _Layout.cshtml 中的局部 View :
<div id="categories">
@{ Html.Action("Menu", "Nav"); }
</div>

使用以下 ASCX 局部 View :
<%@ Control Language="C#"
Inherits="ViewUserController<IEnumerable<MyDataType>>" %>

<% foreach(var link in Model) { %>
<%: Html.Route.Link(link.Text, link.RouteValues) %>
<% } %>

一切正常。好极了。

但是,如果我使用以下任一 RAZOR 局部 View :
@model IEnumerable<MyDataType>

@foreach(var link in Model){
Html.RouteLink(link.Text, link.RouteValues);
}

或者...
@model IEnumerable<MyDataType>

@{
Layout = null;
}

@foreach(var link in Model){
Html.RouteLink(link.Text, link.RouteValues);
}

我什么也得不到。没有抛出异常,我只是没有得到任何渲染。我知道问题不在于 Controller 方法(它适用于 ASCX 局部 View )。

这里发生了什么?

最佳答案

尝试改变这个:

@foreach(var link in Model){
Html.RouteLink(link.Text, link.RouteValues);
}

对此:
@foreach(var link in Model){
@Html.RouteLink(link.Text, link.RouteValues);
}

看起来没有 @ 方法被调用,但返回值只是被 dscarded。放置@ 会导致它被写入响应中。

关于asp.net-mvc-3 - Razor 局部 View 未呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5879147/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com