Ответы пользователя по тегу ASP.NET
  • Почему EF не хочет сохранять сущность?

    @dmitrytut
    Используй Bind().To().InRequestScope() вместо Bind().To().InSingletonScope().
    Ответ написан
    Комментировать
  • ASP.NET Как получить html-код сайта, определяемый сервером, от клиента?

    @dmitrytut
    Вам нужно на клиенте загрузить html-код с помощью JQuery. Поскольку политики безопасности браузера в большинстве случаев заблокируют прямой запрос к стороннему ресурсу, то вам нужно включить в ваш клиентский код эту библиотеку:
    https://github.com/padolsey/jQuery-Plugins/blob/ma...
    Далее использовать ajax для получения html:
    function getHtml() {
             $.ajax({
               url: 'http://www.test.com',
               type: 'GET',
               success: function(res) {
                 var content = $(res.responseText).text();
                 alert(content);
               }
             });
           }


    После этого, полученный html можно отправить на сервер как угодно, например, с помощью того-же $.ajax.
    Ответ написан
    2 комментария
  • Как в ASP.NET Web Api передавать Decimal тип с различными разделителями ('.'\',')?

    @dmitrytut Автор вопроса
    В общем, кому интересно, в итоге написал JSON.Net конвертер, который заменяет запятую на точку и зарегистрировал его глобально (оказывается так можно) чтобы обрабатывались все decimal.
    Конвертер:
    public class DecimalFormatConverter: JsonConverter
      {
        public override bool CanConvert(Type objectType)
        {
            return (objectType == typeof(decimal) || objectType == typeof(decimal?));
        }
    
        public override void WriteJson(
          JsonWriter writer, 
          object value, 
          JsonSerializer serializer)
        {
            writer.WriteValue(value);
        }
    
        public override object ReadJson(
          JsonReader reader, 
          Type objectType, 
          object existingValue, 
          JsonSerializer serializer)
        {
          if (reader.Value != null)
          {
            try
            {
              string replacedValue = reader.Value.ToString().Replace(',', '.');
    
              return decimal.Parse(replacedValue, CultureInfo.InvariantCulture);
            }
            catch (Exception ex)
            { 
              throw new Exception(
                String.Format("Decimal coverting error. Message: {0}.", ex.Message));
            }
          }
          return null;
        }
      }


    И его глобальная регистрация в файле Global.asax.cs в методе Application_Start():
    ...
    GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.Converters.Add(new DecimalFormatConverter());
    ...


    Но все же, интересно послушать критику такого подхода и способы решения из разряда Best Practices, наверняка сталкивались?
    Ответ написан
    Комментировать