簡體   English   中英

在dotvvm主頁中引用部分視圖或其他主頁

[英]Referencing partial view or another master page inside dotvvm masterpage

我正在嘗試在dotvvm主頁中渲染諸如razor渲染局部的東西。 但除了以下內容外,從文檔中什么也找不到:

母版頁嵌套

您還可以將母版頁嵌套在另一個母版頁中,依此類推。 只需在母版頁中使用@masterPage指令指定父母版頁即可。

基本上,我想呈現導航菜單,該菜單將在父母版頁的另一個母版頁中定義。

我認為您正在尋找標記控件,請參閱文檔以了解更多詳細信息: https : //www.dotvvm.com/docs/tutorials/control-development-markup-only-controls/2.0

簡而言之,標記控件允許您在dothtml文件中聲明自定義控件。 您可以在標記控件中使用所有DotVVM功能,如果要使用數據綁定,則只需明確聲明應如何傳遞視圖模型中的數據。

簡約的標記控件可能如下所示:

<!-- The control must be used when data context is this view model: -->
@viewModel Full.Name.Of.MyViewModelBase

<ul class=menu>
    <li>{{value: NameOfSomething}}</li>
    <li>...</li>
</ul>

然后,必須注冊該控件,以便DotVVM可以找到它:

// in DotvvmStartup

config.Markup.AddMarkupControl(tagPrefix: "cc", tagName: "MyMenu", "Views/MyMenu.dotcontrol");

之后,您可以在任意位置使用該控件(當然,遞歸僅在sometimes時有效):

<cc:MyMenu />

您還可以聲明屬性,然后在控件內使用它。 因為視圖模型不一定適合,所以它可能有助於控件的可重用性。 我將其留給文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM