HTML中的Blazor Razor返回语句

HTML中的Blazor Razor返回语句,razor,blazor,Razor,Blazor,我最近继承了一个Blazor项目,遇到了许多.razor文件,如下所示: <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> } 某些标题文本>

我最近继承了一个Blazor项目,遇到了许多.razor文件,如下所示:

<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>
}
某些标题文本>
@如果(某些条件){
很多html和其他东西占用了很多行
}否则{
更多的html占用了很多行
}
我想知道的是,是否有一种语法允许我通过在“if”条件下使用return语句来消除隐藏在杂草中的“else”语句。意思是:

<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>
某些标题文本>
@如果(某些条件){
很多html和其他东西占用了很多行
return//就在这里保释,而不是像我在生活中的其他地方那样开始另一个街区
}
更多的html占用了很多行
是的,您可以,但Razor鼓励将标记分解为更容易组合的组件。在这种情况下,我会考虑将<<代码> <代码>元素放入它们自己的组件中,使得到的剃刀更简单:

<h1>Some header text></h1>
@if(someCondition)
{
    <component1 />
}
else
{
    <component2 />
}
某些标题文本>
@如果(某些条件)
{
}
其他的
{
}
编辑以添加:


想象一下,试图弄清楚为什么一些巨大的标记块没有在某个页面中呈现,而周围没有任何条件。只发现在组件的中间有一些意想不到的<代码>返回< /代码>语句。如果是我,我想我的反应不会很好。

是的。您可以使用
return这将结束
渲染片段
不会绘制其他内容


渲染片段是代理。如果使用
返回代理将结束,不呈现任何其他内容。不,你可以。正如Brian所说,您完全可以使用
return
<代码>渲染片段
s只是代理。事实就是如此!每天学习新的东西。不过,我不认为我会这样写我的Razor视图,我仍然会将它们组件化。但现在我有了一些新的东西需要注意。@EricKing完全同意类似于意大利面代码。或者使用
MarkupString
处理静态内容。