Parece que no puede crear condicionalmente una nueva fila de tabla usando las declaraciones foreach y if de Razor?

Quiero que un bucle cree dinámicamente una tabla de hasta 2 columnas de ancho, y luego aumente el número de filas hasta que no queden entradas en la lista. Suena fácil, y se me ocurrió esto:

<table>
                    <tr>
                        @{ var i = 0; }
                        @foreach (var tm in Model.TeamMembers)
                        {
                            <td>@tm.FirstName @tm.LastName @tm.Role</td>

                            if(++i % 2 == 0)
                            {
                                </tr>
                                <tr>
                            }
                        }
                    </tr>
                </table>

Pero obtengo errores que indican} esperado tanto para el bucle for como para la instrucción if. Si cambio las etiquetas a otra cosa (como por ejemplo) funciona bien.

¿Supongo que está tratando de validar el final de la fila, lo ve y decide que el ciclo debe haber terminado? ¿Cómo puedo hacer que NO haga eso, o necesito poner toda la tabla dentro del bucle con un montón de condicionales desordenados? :

Respuestas a la pregunta(3)

Su respuesta a la pregunta