The way to handle multiple controls is to ensure they have a naming scheme like
txt[0]
txt[1]
txt[2]
and so on. If your names are like that then MVC model binding will convert the values into an array. The control's id is irrelevant, that is only used for css and javascript
@using (Html.BeginForm())
{
for (int i=0; i<5; i++)
{
@Html.TextBox(string.Format("txtDate[{0}]", i.ToString()), string.Empty, new { id= string.Format("txtDate{0}", i.ToString()) })
}
<p><input type="submit" value="Submit"/></p>
}
controller
[HttpPost]
public ActionResult Index(string[] txtDate)
{
return View();
}