Вы не можете передавать сложные объекты:
new
{
model = Model,
sortBy = "EffectiveStartDate",
},
model = Model
не имеет смысла и не может быть отправлено с помощью GET.Возможно, вам придется использовать форму с шаблоном редактора и / или скрытыми полями для отправки всех свойств модели.Помните, что в строке запроса могут быть отправлены только скалярные значения (key1 = value1 & key2 = value2 ...).Еще одна альтернатива, которая приходит на ум, это отправить только идентификатор:
new
{
modelId = Model.Id,
sortBy = "EffectiveStartDate",
},
и в вашем действии контроллера получить модель с данным идентификатором из вашего хранилища данных:
public ActionResult SortDetails(int modelId, String sortBy)
{
var model = repository.GetModel(modelId);
...
}
Конечно, этоИстинно, только если пользователь не должен редактировать свойства модели в форме.Зависит от вашего сценария.
И ради полноты позвольте мне предложить другой вариант: используйте помощник Html.Serialize из MVC Futures для сериализации всей модели в скрытое поле, которое можетпередается обратно в действие контроллера и там десериализуется.