ASP MVC для решения проблем Silverlight MVVM - PullRequest
0 голосов
/ 13 ноября 2009

Я конвертирую приложение asp.net MVC в silverlight, и из-за того, что я делал некоторые «нестандартные» вещи в своем приложении mvc, мне трудно пытаться понять, как его реализовать в Silverlight MVVM.

По сути, я генерировал все свои представления из метаданных, включая ссылки, кнопки и т. Д. Один из примеров того, что я не могу понять, как это сделать в Silverlight, - это то, что я передал коллекцию действий своему представлению, и имел вспомогательный класс html, который затем преобразовывал эти действия в ссылки

        public static string GenericLinks(this HtmlHelper htmlHelper, int location, bool inTable, int? parentRecordId, List<ModelAction> 

actions)
        {
            int actionNo = 1;
            StringBuilder text = new StringBuilder();
            foreach (var action in actions)
            {
                if (action.LocationType == location)
                {
                    if (inTable)
                        text.Append("<td>");
                    else
                        if (actionNo > 1)
                            text.Append(" | ");
                    text.Append(htmlHelper.ActionLink(action.Label, action.ActionTypeLookup.CodeName, new { actionId = action.ModelActionId, 

parentRecordId = parentRecordId }));
                    if (inTable)
                        text.Append("</td>");
                    actionNo++;
                }
            }
            return text.ToString();
        }

Это действительно хорошо работало в MVC.

Каким будет эквивент в MVVM? Я ожидал бы, что смогу сделать что-то гораздо более подходящее, более похожее на создание своих действий в моей модели представления и каким-то образом привязаться к этим действиям в моем представлении ...

1 Ответ

0 голосов
/ 13 ноября 2009

Для чего-то подобного вам, вероятно, потребуется создать пользовательский элемент управления. Затем вы можете поместить его в свое представление и связать с набором действий, который будет существовать в вашей модели представления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...