在Razor(MVC 4)中,我可以执行类似以下(伪)代码的操作吗?
<div id="One" @if(THIS_ID_IS("One")) {WRITE_SOMETHING_HERE} ></div>
<div id="Two" @if(THIS_ID_IS("One")) {WRITE_SOMETHING_HERE} ></div>
我的意图是,在DIV“One”中会写一个额外的属性,但不会写入DIV“Two”
所以,THIS_ID_IS(字符串id)应该确定,如果Razor-Parse是INSIDE给定的DIV,id =“xyz”
这可能吗?
答案 0 :(得分:1)
您可以使用单行if语句来克服这种情况
<div id="One" @(THIS_ID_IS("One") ? "write something" : "") ></div>
答案 1 :(得分:0)
由于ids
是unique
值。所有div都有不同的ID
所以我认为剃刀中没有必要进行条件检查。
您可以直接将额外属性添加到Div
,如下所示
<div id="One" attribute-name="Value"></div>
答案 2 :(得分:0)
在这种情况下,我倾向于编写一个帮助方法来输出标记。这样你就不会受到剃刀“规则”的限制。我在div中输出jQuery slider html做了类似的事情。
这也取决于你的目标受众,我很少提供实际的观点,因为我们的设计师完成了大部分工作。我不喜欢将内容移交给需要他们编写/理解逻辑的“广告素材”。
它可能不是理想的解决方案,甚至可能在你的情况下有点过分,但可能值得一看。
http://www.asp.net/mvc/tutorials/older-versions/views/creating-custom-html-helpers-cs
答案 3 :(得分:0)