2015-03-13 3 views
1

Я создал свой первый простой модуль, но по какой-то причине мой редактор, похоже, не получает никаких значений из формы.Модуль Orchard CMS no values ​​from Editor

Код в основном представляет собой небольшую модификацию на примере модуля Карты. (Я подрезал и еще недолго.) Пример: http://docs.orchardproject.net/Documentation/Writing-a-content-part

EDIT: Я сузил его до своих свойств bool и DateTime. Если я использую только строки и ints, мой модуль работает так, как ожидалось. Я просмотрел другие миграции в моем каталоге модулей, и они используют общий метод столбцов. Я попробовал это, но все равно не могу заставить его работать.

Модель:

namespace Maps.Models 
{ 
    public class MapRecord : ContentPartRecord 
    { 
     public virtual int SenderId { get; set; } 
     public virtual int RecipientId { get; set; } 

     public virtual string Subject { get; set; } 
     public virtual string Body { get; set; } 
     public virtual DateTime Timestamp { get; set; } 

     public virtual bool Read { get; set; } 
     public virtual int ReplyTo { get; set; } 
    } 

    public class MapPart : ContentPart<MapRecord> 
    { 
     [Required] 
     public int SenderId 
     { 
      get { return Record.SenderId; } 
      set { Record.SenderId = value; } 
     } 

     [Required] 
     public int RecipientId 
     { 
      get { return Record.RecipientId; } 
      set { Record.RecipientId = value; } 
     } 

     [Required] 
     public string Subject 
     { 
      get { return Record.Subject; } 
      set { Record.Subject = value; } 
     } 

     [Required] 
     public string Body 
     { 
      get { return Record.Body; } 
      set { Record.Body = value; } 
     } 

     [Required] 
     public DateTime Timestamp 
     { 
      get { return Record.Timestamp; } 
      set { Record.Timestamp = value; } 
     } 

     [Required] 
     public bool Read 
     { 
      get { return Record.Read; } 
      set { Record.Read = value; } 
     } 

     [Required] 
     public int ReplyTo 
     { 
      get { return Record.ReplyTo; } 
      set { Record.ReplyTo = value; } 
     } 

    } 
} 

Migrations.cs

public class Migrations : DataMigrationImpl { 

     public int Create() { 
      // Creating table MapRecord 
      SchemaBuilder.CreateTable("MapRecord", table => table 
       .ContentPartRecord() 
       .Column<int>("RecipientId") 
       .Column<int>("SenderId") 
       .Column<string>("Subject") 
       .Column<string>("Body") 
       .Column<DateTime>("Timestamp") 
       .Column<bool>("Read") 
       .Column<int>("ReplyTo") 
      ); 

      ContentDefinitionManager.AlterPartDefinition(
       typeof(MapPart).Name, cfg => cfg.Attachable()); 

      return 1; 
     } 
    } 
+0

Как выглядит ваша миграция? – devqon

+0

@devqon Я добавил переход на вопрос. – hsimah

+0

Добавили ли вы обработчик содержимого? – Hazza

ответ

0

Если это похоже на пример не может быть две возможные проблемы. 1) Возможно, вы не добавили файл места размещения. Если миграция работала и нет файла места размещения, вы не увидите данные. 2) Еще одно возможное решение, если сбой миграции - это то, что у него нет правильных DataTypes для bool и DateTime. Вместо этого попробуйте DBTYPE .Boolean и DBTYPE .DateTime. Дайте мне знать, если это сработает для вас.

+0

Первоначально у меня были миграции как. Column («name», DBType.DateTime) и т. Д., Но это не сработало, поэтому я попытался использовать общий метод. Еще нет кубиков. Спасибо за идею. Я до сих пор не решил этого - я просто перешел и вернусь и попытаюсь понять его позже. Это скорее доказательство концепции для меня, чем нечто серьезное. – hsimah

Смежные вопросы