2013-05-21 2 views
0

Я оцениваю TypeScript, чтобы узнать, может ли это сэкономить время на разработку для моих требований. Допустим, я определяю простые классы, чтобы получить и установить скрытые поля с главной целью быть универсальными и работать с моделями MVC.Поведение модели TypeScript и Generic MVC

class BaseObject { 
    _Name: string; 
    constructor(public name) { this._Name = name; } 
} 

interface BaseForm { 
    SaveFields(): void; 
    GetFields(): void; 
    ToQueryString(): string; 
    ToJsonString(): string; 
} 


class BaseReportForm extends BaseObject implements BaseForm { 

    constructor(name) { super(name); } 

    public PageNumber: number; 
    public AllowPaging: bool; 
    public ExportLink: string; 
    ... 
    SaveFields() {//WRITE HIDDEN FIELDS TO FORM } 
    GetFields() { //GET HIDDEN FIELDS FROM FORM} 
    ToQueryString() { return "Hidden Fields To Query String"; } 
    ToJsonString() { return "Hidden Fields To Json"; } 
} 

Все это прекрасно работает, однако я не вижу ничего, что позволило бы мне работать с @Models. Было бы неплохо иметь возможность иметь возможность волшебно сделать следующее:

var ReportForm=new ReportForm(@Model.Report); 

Я знаю, что для достижения этой функциональности должно было бы быть другой перевод слой переводов. Существуют ли какие-либо инструменты, которые помогли бы, если бы она оказалась временной заставкой? Как и в ORM mapper или auto mapper, но будет работать с JS или TypeScript?

ответ

1

Да есть TypeLITE, который будет конвертировать ваши C# классов для Машинописи: http://type.litesolutions.net/

Сначала нужно создать класс машинописи из вашего класса C# с помощью TypeLITE. Следующий проход в вашем экземпляре класса C# на ваш TypeScript в вашем бритвенном представлении как JSON https://stackoverflow.com/a/4072787/390330

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