I am using asp.net mvc 3 and I keep getting this error and I don’t understand it since I am not using a template.
I have this in my partial view
@model ViewModels.FormViewModel
<div="tabs-1">
@Html.TextBoxFor(x => x.Due.ToShortDateString())
</div>
in my viewmodel
public class FormViewModel
{
public DateTime Due { get; set; }
public FormViewModel()
{
DueDate = DateTime.UtcNow;
}
}
and I get this error
Templates can be used only with field
access, property access,
single-dimension array index, or
single-parameter custom indexer
expressions. Description: An unhandled
exception occurred during the
execution of the current web request.
Please review the stack trace for more
information about the error and where
it originated in the code.Exception Details:
System.InvalidOperationException:
Templates can be used only with field
access, property access,
single-dimension array index, or
single-parameter custom indexer
expressions.
Should be like this:
And if you want some format for this date:
and then:
of if you really want to use this
.ToShortDateString()method you need to use a non-strongly typed helper (obviously that’s something I would recommend against):