Sha*_*pac 15 html asp.net-mvc razor
我想要一个条件("myBool")为真的html代码:
<div>
<fieldset>
<legend>
@sometext
</legend>
... other stuffs
</fieldset>
<div>
Run Code Online (Sandbox Code Playgroud)
当这是假的时候这个:
<div>
<b>
@sometext
</b>
... other stuffs
<div>
Run Code Online (Sandbox Code Playgroud)
我不想写两次相同的代码("其他东西"),所以我尝试了这个:
<div>
@if(myBool)
{
<fieldset>
<legend>
}
else
{
<b>
}
@sometext
if (myBool)
{
</legend>
}
else
{
</b>
}
...other stuff
if (myBool)
{
</fieldset>
}
</div>
Run Code Online (Sandbox Code Playgroud)
但我得到编译错误.
你知道我怎么能做我想做的事而不必做那样的事情:
@if(myBool)
{
<div>
<fieldset>
<legend>
@sometext
</legend>
... other stuffs
</fieldset>
<div>
}
else
{
<div>
<b>
@sometext
</b>
... other stuffs
<div>
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
Dar*_*rov 35
以下可能使用@:
运算符.当你在一个代码块里面时,或者是因为一个控制结构(比如下面给出的例子)或者你已经明确定义了一个,你可以输出纯文本,前缀是@ -character后跟一个:(冒号)字符.
<div>
@if (someCondition)
{
@:<fieldset>
@:<legend>
}
else
{
@:<b>
}
@sometext
if (someCondition)
{
@:</legend>
}
else
{
@:</b>
}
... other stuffs
@if (someCondition)
{
@:</fieldset>
}
</div>
Run Code Online (Sandbox Code Playgroud)
或者您也可以尝试以下方法:
<div>
@Html.Raw(someCondition ? "<fieldset><legend>" : "<b>")
@sometext
@Html.Raw(someCondition ? "</legend>" : "</b>")
... other stuffs
@if (someCondition)
{
@:</fieldset>
}
</div>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8749 次 |
最近记录: |