在导航栏中插入模式剃须刀页面。怎么做?

时间:2019-01-21 08:54:03

标签: asp.net razor asp.net-core razor-pages asp.net-core-2.2

我正在建立一个新网站,其中一项要求是使登录表单成为模式窗口。我试图将其包含在顶部导航栏中,并且仅当用户未登录时才呈现它。

如何在顶部导航栏中添加具有自己的模型的模态窗口?有其他选择吗?

如果我删除模型并让一个空的模态一切正常,但是当我再次添加它时,它不起作用,因为页面的模型(在本例中是索引页面)是一个与之不同的模型。模式登录。

P.S。我正在使用Razor Pages和ASP.NET Core 2.2。

1 个答案:

答案 0 :(得分:1)

局部视图

因此,您制作了一个_LoginPartial.cshtml文件。假设您设置了@model LoginViewModel

在此_LoginPartial.cshtml内,您具有登录模式和所有功能。

现在,当您在具有模型Index的{​​{1}}页面内调用部分时,您需要像这样将新模型传递给部分:

@model AnotherModel

<partial name="_LoginPartial" model='new LoginViewModel()' />是您的name页面的名称。

cshtml是页面的model

Read More Here

查看组件

简而言之,如果您采用这种方式,这本质上就像是在页面内嵌套一个小控制器。允许您更改@model的范围。

Read more about View Components

更新嵌套对象

您需要实例化对象属性。

@model