【发布时间】:2015-01-07 12:21:34
【问题描述】:
扭曲的是,我在该主题上找到的所有答案似乎都不起作用。我几乎尝试了在这个问题的答案中找到的所有格式,并且我自己做了一些绝望的尝试,但它们都没有任何效果。就好像 razor 不存在一样,但是同一个 cshtml 文件中的其他 razor 合成器可以毫无问题地执行。 大多数情况下,div 是在循环中声明的,并且它的名称应附加 i。这是我尝试过的一些东西,不是按照我尝试它们的顺序。顺序可以通过合成器的健全性下降来推断:
<div id="accord@(i)">
<div id="@("accord" + i)>
<div id="@{@("accord" + i)}">
与:
string fName = "accord" + i; //fName is filled correctly, that much I could verify
我尝试了一些东西:
<div id=@fName>
<div id="@fName">
<div id="@(fName)">
<div id="@{fName}">
<div id=@(fName)>
<div id="@{@fName}">
<div id=@{@fName}>
我还尝试了这两种方法的几种组合,例如
string fName = "accord";
<div id="@(fName + i)">
也...
所有这些尝试都没有产生任何结果... div 的 id 总是 #Literaly_Whatever_Comes_after_=
那么...有人可以大胆猜测一下我做错了什么吗?
为了完成,因为你永远不知道可能涉及什么,这里是整个循环。它没有任何实际的逻辑,这是在我使这个概念起作用之后出现的:
<div id="yearaccord">
@for (int i = 0; i < 4; ++i)
{
//add a nested months accordion for every year
<h3>i = @i</h3>
string fName = "accord" + i;
<div id="@{@fName}">
@for (int j = 0; j < 4; ++j)
{
//add an accordion displaying the blog titles for each month
<h3>j = @j</h3>
<div>
@for (int w = 0; w < 6; ++w)
{
//add blog titles
<h4>JabbadaJba @w</h4>
}
</div>
}
</div>
}
</div>
请注意,此循环中的所有其他 razor synthax 的行为方式都与我预期的一样......只有当它用作 id 时,事情才会变得不稳定。
【问题讨论】:
-
<div id="@fName">实际呈现的 HTML 是什么? -
否“接受的答案?” UB? 叮叮
;P