我最近继承了一个Blazor项目,遇到了许多.rarzor文件,比如:
<h1>Some header text></h1>
@if(someCondition) {
<div> lots of html and what not here taking up many lines</div>
} else {
<div> more html taking up many lines</div>
}
我想知道的是,是否有一种语法可以让我消除";否则";隐藏在杂草中的语句,通过在我的";如果";条件含义:
<h1>Some header text></h1>
@if(someCondition) {
<div> lots of html and what not here taking up many lines</div>
return //JUST BAIL HERE INSTEAD OF HAVING TO START AN ELSE BLOCK LIKE I DO ELSEWHERE IN LIFE
}
<div> more html taking up many lines</div>
是。您可以使用return;
来结束RenderFragment
,而不绘制其他内容。
blazor repl
是的,正如Brian的回答所示,你可以,但Razor鼓励将标记分解为更容易组合的组件。在这种情况下,我会考虑将<div></div>
元素分解为它们自己的组件,使生成的Razor更简单:
<h1>Some header text></h1>
@if(someCondition)
{
<component1 />
}
else
{
<component2 />
}
编辑后添加:
想象一下,试图弄清楚为什么某个巨大的标记块并没有在某个页面中呈现,而它周围并没有条件语句。结果发现在组件的中间有一些意想不到的return
语句。如果是我的话,我想我的反应不会很好。