在导航栏中插入模态剃刀页面。怎么做?
Insert a modal razor page in the navbar. How to do it?
我正在建立一个新网站,其中一项要求是让登录表单成为模式 window。我试图将它包含在顶部导航栏中,并且仅在用户未登录时才会呈现。
如何在顶部导航栏中添加此模态 window 及其自己的模型?还有其他选择吗?
如果我删除模型并让一个空模态一切正常,但是当我再次添加它时它不起作用,因为页面模型(在本例中为索引页面)与一个来自模态登录。
P.S。我正在使用 Razor Pages 和 ASP.NET Core 2.2.
局部视图
所以你制作了一个 _LoginPartial.cshtml
文件。假设您设置 @model LoginViewModel
在此 _LoginPartial.cshtml
中,您拥有登录模式和所有功能。
现在,当您在具有模型 @model AnotherModel
的 Index
页面中调用局部时,您需要将新模型传递给局部,如下所示:
<partial name="_LoginPartial" model='new LoginViewModel()' />
name
是您的 cshtml
页面的名称。
model
是页面的 @model
。
查看组件
简而言之,如果您采用这种方式,这本质上就像在您的页面中嵌套一个小控制器。允许您更改 @model
.
的范围
Read more about View Components
嵌套对象更新
您需要实例化对象属性。
<partial name="_LoginPartial"
model='new LoginViewModel { InputModel = new InputModel() }' />
我正在建立一个新网站,其中一项要求是让登录表单成为模式 window。我试图将它包含在顶部导航栏中,并且仅在用户未登录时才会呈现。
如何在顶部导航栏中添加此模态 window 及其自己的模型?还有其他选择吗?
如果我删除模型并让一个空模态一切正常,但是当我再次添加它时它不起作用,因为页面模型(在本例中为索引页面)与一个来自模态登录。
P.S。我正在使用 Razor Pages 和 ASP.NET Core 2.2.
局部视图
所以你制作了一个 _LoginPartial.cshtml
文件。假设您设置 @model LoginViewModel
在此 _LoginPartial.cshtml
中,您拥有登录模式和所有功能。
现在,当您在具有模型 @model AnotherModel
的 Index
页面中调用局部时,您需要将新模型传递给局部,如下所示:
<partial name="_LoginPartial" model='new LoginViewModel()' />
name
是您的 cshtml
页面的名称。
model
是页面的 @model
。
查看组件
简而言之,如果您采用这种方式,这本质上就像在您的页面中嵌套一个小控制器。允许您更改 @model
.
Read more about View Components
嵌套对象更新
您需要实例化对象属性。
<partial name="_LoginPartial"
model='new LoginViewModel { InputModel = new InputModel() }' />