如何将计算的“ID”添加到@foreach循环中的按钮 - ASP.NET Web Pages Razor

时间:2014-09-07 06:38:50

标签: asp.net razor

我有一个@foreach循环用于显示我页面上所有帖子的博客。我在每个帖子的底部都有一个按钮,点击后我希望该特定帖子动画。我的逻辑是在我的@foreach循环中为每个按钮添加一个不同的ID,所以我可以根据选择的帖子执行动画...请帮助

@{


    foreach(var post in posts){
        <div class="userPosts">
            @post.FirstName<br /><br />
            @post.LastName<br /><br />
            @post.Subject<br><br>
           <button id="">click here</button>
        </div>

    }
    }

3 个答案:

答案 0 :(得分:0)

如果我明白这一点,你需要在每个循环中为每个按钮签署每个帖子的ID,这意味着<button id="@post.Id"></button>

答案 1 :(得分:0)

使用常规for循环代替foreach

@for(var i = 0; i< posts.Count; i++)
{
       <div class="userPosts">
            @post.FirstName<br /><br />
            @post.LastName<br /><br />
            @post.Subject<br><br>
           <button id="@i">click here</button>
        </div>
}

如果必须使用foreach,则必须添加索引变量

@{
int index = 0;
foreach(var post in posts){
        <div class="userPosts">
            post.FirstName<br /><br />
            post.LastName<br /><br />
            post.Subject<br><br>
           <button id="@index">click here</button>
        </div>
        index++;
    }
}

答案 2 :(得分:0)

如果posts

中已有ID属性,请尝试此操作
@{
    foreach(var post in posts){
        <div class="userPosts">
            @post.FirstName<br /><br />
            @post.LastName<br /><br />
            @post.Subject<br><br>
           <button id="@post.ID">click here</button>
        </div>

    }

否则:

@for(var i = 0; i< posts.Count; i++)
{
       <div class="userPosts">
            @posts[i].FirstName<br /><br />
            @posts[i].LastName<br /><br />
            @posts[i].Subject<br><br>
           <button id="@i">click here</button>
        </div>
}