MVC - передача типа в качестве параметра действия - PullRequest
0 голосов
/ 14 апреля 2011

Можно ли передать параметр Type в метод Action в MVC через HTML.ActionLink ().

например.

public ActionResult Get(Type containerType, string name)
{
            throw new NotImplementedException("vkag");
}

<%=Html.ActionLink(flow.Source.Name, "Get", new { containerType = typeof(Worksheet), name = flow.Source.Name})%>

По какой-то причине тип всегда нулевой. Я также не могу передать базовый тип, чтобы можно было передавать его подтипы.

Я не знаю, является ли это ограничением HTML ActionLink Helper или MVC.

Я не могу передать интерфейс, я задаю параметр базового типа и использую подтип в качестве аргумента вместо параметра базового типа, и я не могу передать тип обратно. Я застрял здесь.

Есть ли другой помощник HTML, который поможет?

Можно ли что-нибудь сделать с привязкой модели?

Могу ли я изменить состояние моей модели во время вызова ActionLink перед передачей управления моему методу действия?

Вид застрял здесь. Буду признателен за любую помощь.

Спасибо

1 Ответ

1 голос
/ 14 апреля 2011

Типы, которые вы можете передавать в Маршруты, должны передаваться через URL, если вы об этом думаете.

Вы не можете передать тип, так как он должен быть сериализован.Почему бы не передать параметр containerType в виде строки и преобразовать его обратно в тип в действии?

...