1

プロジェクトのどこかにあるバックエンド クラスに ext.NET パネルを作成したいと考えています。次に、剃刀ビュー内で、このクラスをインスタンス化し、それを使用してコンポーネントを画面に配置します。この後半部分について助けが必要です!

たとえば、次のクラスがあります。

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 固有の問題ではありません。

4

2 に答える 2

1

あなたの唯一の方法は、クラスで構成を構築し、ext 拡張メソッドを呼び出してパネルをビューにレンダリングすることだと思います。

定義

namespace Interface.Resources
{
    public class Screen
    {
        public static Ext.Net.Panel NavigationPanelConfig()
        {
            return new Ext.Net.Panel.Config()
            {
                Title = "NAVIGATION",
                Border = true,
                Header = false,
                Region = Ext.Net.Region.East,
                Width = 400,
                Collapsible = true,
                CollapseMode = Ext.Net.CollapseMode.Mini,
                Split = true,
            };
        }
    }
}

レンダー

@(Html.X().Panel(Interface.Resources.Screen.NavigationPanelConfig()))
于 2013-09-01T15:16:42.773 に答える