Q:

spliting data at specified index in two vertical columns

I have array of 20 integers  int[] numbers; 
I want to display those numbers in two html table columns where first columns should break at 11 number and continue rendering on second, for example
Numbers | Some other data
---------------------------
1    12 |  Some data a
2    13 |  Some data b
..   14 |  Some data c
10   15 |
11   16 |

I tried something like this
<table>
   <tr>
       <td>Numbers</td>
       <td>Some other data</td>
   </tr>
   <tr>
   @{
       int numberscounter= 0;
       foreach (var item in numbers){

          if (numberscounter< 11) { 
           numberscounter++;
          <tr>
             <td>@item.Number</td>
             <td>@item.SomeOtherData</td>
          </tr>
         }
         else {
            <tr>    
                <td>@item.Number</td>
                <td>@item.SomeOtherData</td>
            </tr>   
         }
       }
   }
   </tr>
</table>

A:

This isn't elegant and I still don't understand what you are trying to do. for example what the some other data is and how you will display it, but to get what you are after (just splitting the numbers at 11 into 2 columns) you could do the following:
Get rid of the array it is not needed and do the following with a for loop
<table>
    <tr>
        <td colspan="2">Numbers</td>
        <td>Some other data</td>
    </tr>

    @for (int i = 1; i <= 11; i++){
        <tr>
            <td>@i.ToString()</td>
            <td>@(((i + 11) <= 20) ? (i + 11).ToString(): "")</td>
            <td>Some other data here (notsure how this is generated)</td>
        </tr>
    }
</table>

EDIT 
(after comments): Ok so you want to use the numbers you have already in the unknown object and keep them in the 2 separate columns....
How about this
@{
    //These are my test values. you will need to edit them with your values
    int[] intarray = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };
    var Below11 = intarray.Where(x => x <= 11).OrderBy(x => x).ToArray();
    var Above11 = intarray.Where(x => x > 11).OrderBy(x => x).ToArray();
}

<table>
    <tr>
        <td colspan="2">Numbers</td>
        <td>Some other data</td>
    </tr>

    @for (int i = 0; i <= Math.Max(Below11.Count(), Above11.Count()) - 1; i++)
    {
        <tr>
            <td>@(i < Below11.Count() ? Below11[i].ToString() : "")</td>
            <td>@(i < Above11.Count() ? Above11[i].ToString() : "")</td>
            <td>Someother data</td>
        </tr>
    }
</table>

