【发布时间】:2013-08-29 12:09:38
【问题描述】:
我想在我项目的某个后端类中创建一个 ext.NET 面板。然后,在 razor 视图中,我想实例化这个类并使用它将组件放置到屏幕上。我需要后半部分的帮助!
例如,我有课:
namespace Interface.Resources
{
public class Screen
{
public ext.Panel NavigationPanel()
{
ext.Panel navPanel = new ext.Panel
{
Title = "NAVIGATION",
Border = true,
Header = false,
Region = ext.Region.East,
Width = 400,
Collapsible = true,
CollapseMode = ext.CollapseMode.Mini,
Split = true
};
return navPanel;
}
....
现在,视图类看起来像这样......
@using Interface.Resources
@functions
{
Interface.Resources.Screen _irs = new Interface.Resources.Screen();
}
@_irs.NavigationPanel()
....
显然后者不工作......它编译并运行,但我得到一个错误。我在做什么错...我尝试使用 Html.X() 等,但我似乎无法让面板呈现。
注意:如果我使用类似 Html.X().Panel()....Items(items => { items.add(_irs.NavigationPanel()); }) ... 它可以工作,但我不想每次使用我正在创建的接口资源库时都在剃刀视图中创建容器面板。
我明白这个问题不是 Razor 特有的。
【问题讨论】:
-
你能创建一个asp.net mvc控件并以同样的方式将它传递给视图吗?我认为唯一的方法是在你的类中创建一个配置对象,而不是它自己的面板和视图而不是
@_irs.NavigationPanel()使用@(Html.X().Panel(_irs.NavigationPanelConfig)) -
我发布了完整的答案。
标签: asp.net-mvc asp.net-mvc-4 extjs razor ext.net