这是一个场景:假设我有两个控制器的站点负责显示不同类型的内容 - 页面和文章.我需要将Partial View嵌入到我的母版页中,该母版页将列出使用某些条件过滤的页面和文章,并显示在每个页面上.我无法在我的母版页上设置模型(我是对的吗?).如何使用Html.RenderPartial解决此任务?
[编辑]是的,我可能会为列出文章和页面创建单独的部分视图,但仍有一个障碍,我不能也不应该在母版页上设置模型.我需要以某种方式说"这里是页面"作为我的renderpartial的参数,也是文章的参数.renderpartial的整个概念与来自masterpages中的数据库的数据对我来说有点模糊.
我在ASP.NET MVC应用程序中使用了一些(2或3)母版页,它们每个都必须显示数据库中的一些信息.如赞助商名单,目前的资金状况等.
所以我的问题是,我应该把这些主页数据库调用代码放在哪里?
通常,这些应该进入自己的控制器类吗?但那意味着我必须手动连接它们(例如传递ViewDatas),因为它超出了MVC框架提供的正常路由框架.
有没有办法干净地没有连接ViewData传递/动作调用手动母版页或子类框架'?
文档量非常低......我对这一切都很陌生,包括MVC本身的概念所以请分享你的提示/技巧.
有没有办法检查用户是否有他们的浏览器缓存的CSS的不同版本,如果是这样迫使他们的浏览器拉新版本?
我们的基础母版页具有如下内容
<head runat="server">
<title></title>
<script type="text/javascript" src="<%= Page.ResolveClientURL("~/javascript/actions.js")%>"></script>
<script type="text/javascript" src="<%= Page.ResolveClientURL("~/javascript/jquery/jquery-1.2.6.min.js")%>"></script>
<asp:contentplaceholder id="cph_htmlhead" runat="server">
</asp:contentplaceholder>
</head>
Run Code Online (Sandbox Code Playgroud)
如果此主页是ASPX页面的主页,则可以正常工作.
如果此主页面是子母版页的母版页,然后新的ASPX页面使用子母版页作为其主页,我们看到:
''应用程序中的服务器错误.
无法修改Controls集合,因为控件包含代码块(即<%...%>).
在基本主页中包含全局资源(Javascript/CSS)的首选方法是什么,保留波浪号(〜)样式的相对路径?
我有一个嵌套2级的母版页.它有一个母版页,该母版页有一个母版页.
当我在名为"bcr"的ContentPlaceHolder中粘贴控件时 - 我必须找到如下所示的控件:
Label lblName =(Label)Master.Master.FindControl("bcr").FindControl("bcr").FindControl("Conditional1").FindControl("ctl03").FindControl("lblName");
Run Code Online (Sandbox Code Playgroud)
我完全失去了吗?或者这是它需要做的?
我即将使用MultiView,它位于条件内容控件中.所以,如果我想要更改视图,我必须获得对该控件的引用吗?得到这个参考将更加肮脏!有没有更好的办法?
谢谢
如何将ASP.NET MVC中的强类型对象放入母版页?
你有一个ViewModelBase包含母版页信息的类,并为每个视图模型继承它,还是有更好的方法?
每次加载页面时,我都需要将数据传递给母版页中的变量.
我在每个内容页面上设置了一个RequiredRoles字符串[],用于定义访问该页面所需的角色.
在我的母版页上,我有一个获取此数组的方法,并检查当前用户是否属于这些角色中的一个或多个.
我该怎么做呢?我基本上希望每个页面都定义了一个String [] RequiredRoles,并且主页面将在每次调用时加载它并检查用户是否在这些角色中.
在我的ASP.Net页面中
<form id="MasterPageForm" runat="server">
Run Code Online (Sandbox Code Playgroud)
但是,无论何时生成标记,它都会变成
<form name="aspnetForm" method="post" action="SomePage.aspx..." id="aspnetForm">
Run Code Online (Sandbox Code Playgroud)
是否可以设置生成的表单HTML ID?
我有一个项目(Web应用程序),我需要使用Web窗体实现.我已经为网站准备了设计,我将使用我已经开发的CSS模板之一.在这种情况下:
顺便说一句,CSS文件是一个准备好的模板.
我认为这是真的,但想提出这个问题.主页首先在ASP.NET中执行,还是要检索的页面?
我问,因为我希望在母版页中完成一些处理,其结果被加载到静态对象中,然后被调用的页面使用(例如用户数据)
master-pages ×10
asp.net ×8
c# ×4
asp.net-mvc ×3
css ×2
.net ×1
.net-3.5 ×1
forms ×1
html ×1
html-helper ×1
javascript ×1
nested ×1
roles ×1
webforms ×1