суббота, 28 ноября 2015 г.

ASP.Net MVC Html.ActionLink проблемы при передаче routeValues как переменной

Ситуация

Во View была строка

@Html.ActionLink("Заказать", "add", "order",
new {id=Model.Id, feedbackid=Model.FeedbackId},
      new {rel="nofollow"})


т.к. набор параметров был опциональный - захотелось их вынести в отдельную переменную

код стал таким
@{
var addOrderLinkRouteValues = new RouteValueDictionary();
addOrderLinkRouteValues.Add("Id", Model.Id);
// опциональное добавление других параметров
}
...
@Html.ActionLink("Заказать", "add", "order",
        addOrderLinkRouteValues,
      new {rel="nofollow"})

Проблема

испортилась ссылка. вместо набора параметров в ссылке на выходе стало отображаться название типа 

/order/add?Count=1&Keys=System.Collections.Generic.Dictionary%602%2BKeyCollection%5BSystem.String%2CSystem.Object%5D&Values=System.Collections.Generic.Dictionary%602%2BValueCollection%5BSystem.String%2CSystem.Object%5D

Решение

Если в двух словах. при таком использовании система подхватывает не тот перегруженный метод

подхватывается такой 
ActionLink(HtmlHelper, String, String, String, Object, Object)
а нам нужен быть такой
ActionLink(HtmlHelper, String, String, RouteValueDictionary, IDictionary<String, Object>)

соответственно код нужно заменить на такой 

@Html.ActionLink("Заказать", "add", "order",
addOrderLinkRouteValues,
        new Dictionary<string, object>{
        {"rel","nofollow"}
            }
        )
тут последний параметр задан типом Dictionary (реализующим IDictionary) а не объектом

среда, 25 ноября 2015 г.

Нулевая консоль в Windows Server 2008 R2

Столкнулся с подключением через удаленный рабочий стол к серверу.

Текст ошибки
Отсутствуют доступные серверы лицензирования удаленных рабочих столов


Для диагностики посоветовали подключиться через "нулевую консоль". Не знал что это. поэтому оставляю здесь

win+r -> mstsc /admin -> вводите данные для подключения

Тогда сервер воспринимает Вас как администратора и позволяет подключиться.

По самой сути ошибки еще разбираюсь.
читаю статьи

Отсутствуют доступные серверы лицензирования удаленных рабочих столов
http://www.modber.ru/catalog/item3062.html


http://pyatilistnik.org/oshibka-udalennyiy-seans-otklyuchen-poskolku-otsutstvuyut-dostupnyie-serveryi-litsenzirovaniya-udalennyih-rabochih-stolov-kotoryie-mogli-byi-provesti-litsenzirovanie/