Got it ! Thanks guys for your replies. Strange but it works.. I already had a hidden Id. I have a partial with just few table rows. This, for adding new answers into my existing page with jQuery.
I had;
<input type="hidden" id="Answers_@(Model.AnswerId)__Id" class="iHidden" name='Answers[@Model.AnswerId].AnswerId' />
Because it creates a new row with an answer. Now I replaced it with.
@Html.HiddenFor(x=>x.AnswerId, new { @class = "iHidden" })
And it works now. Don't know why but well, razor does the job.