Помощник тега textarea не имеет прямой поддержки для условного отображения отключенной текстовой области. Но вы всегда можете расширить TextAreaTagHelper
и добавить эту функцию.
Итак, создайте новый класс, который наследуется от класса TextAreaTagHelper
.
[HtmlTargetElement("textarea", Attributes = ForAttributeName)]
public class MyCustomTextArea : TextAreaTagHelper
{
private const string ForAttributeName = "asp-for";
[HtmlAttributeName("asp-is-disabled")]
public bool IsDisabled { set; get; }
public MyCustomTextArea(IHtmlGenerator generator) : base(generator)
{
}
public override void Process(TagHelperContext context, TagHelperOutput output)
{
if (IsDisabled)
{
output.Attributes["disabled"] = "disabled";
}
base.Process(context, output);
}
}
В вашем _ViewImports.cshtml
файл, используя директиву @addTagHelper
, укажите сборку, в которой указан вышеописанный класс, чтобы наш новый помощник тега был доступен в других представлениях бритвы.
@addTagHelper "*, Microsoft.AspNet.Mvc.TagHelpers"
@addTagHelper "*,YourAssemblyNameHere"
Теперь в ваших представлениях вы можете использовать его например
@model YourSomeViewModel
<textarea asp-for="Doc" asp-is-disabled="Model.MustDisable"></textarea>
, где SomeViewModel
имеет свойство Doc
и MustDisable
.
public class YourSomeViewModel
{
public string Doc { set;get; }
public bool MustDisable { set;get; }
}
Это будет трудным, так как большинство 3D программ CAD не принимает во внимание возможность пересмотра, поэтому когда Вы загружаете что-то и затем сохраняете его снова, это может полностью переупорядочить точки (существуют причины этого, обычно делавшегося для производительности).
Далее, большие модели, представленные в текстовом формате, являются огромными файлами и возьмут навсегда, чтобы скопировать/объединять/и т.д.
Нет никакой существующей системы, которая будет управлять этим, но существует действительно большая потребность в промышленности для него.
Я ожидал бы, что такая система будет иметь образцовый нормализатор, который преобразовывает в и от желаемого формата CAD и формата пересмотра. Это могло затем обработать слияния и отследить изменения более легко.
Это должно было бы также произвести diffs в форме, что Вы могли открыть "diffed" модель в программе хама, и изменения отображают другим цветом или иначе выделяют. Никто не собирается быть способным посмотреть на текстовую разность и понять то, на что они смотрят. Эта diffing программа должна была бы в конечном счете поддерживать понимание, что две модели являются тем же даже при том, что 0,0,0 местоположения и вращение не являются тем же (трудная проблема соответствия) и дают пользователю некоторый интерфейс, чтобы позволить им помогать ему, когда это застревает.
Необходимо было бы, вероятно, иметь дело с частями модели отдельно (кости, сетка, структуры, и т.д.) и иметь третий файл, который синхронизирует их при преобразовании их в содержащий образцовый файл для использования и модификации.
Это не тривиальная проблема... Но если бы Вы запустили на чем-то, что просто обработало сетки, и открытый получил его, то Вы, вероятно, добрались бы, много людей заинтересовало.
Хотя я понимаю, что это - немного отличающаяся тема, Вы могли бы интересоваться ответами на Управление версиями вопроса для Графики...
Подобный то, что заявил GingaNinja, если все Вы заботитесь о, является управлением двоичными файлами в различных изменениях, большинство систем управления версиями будет работать на Вас. Однако при поиске инструмента, который отобразит изменения в действительных образах, Вам могло бы быть трудно находить рекомендацию инструмента здесь. Я запустил бы путем выяснения относительно графика у форумов.
DXF является стандартом текстового файла (similarish к XML), но я не думаю, объединяя эти типы файлов, особенно хорошая идея.
Если Вы хотели выполнить Различную операцию на 2 файлах AutoCAD, можно программно обратиться к отдельным объектам их "Дескриптором" - уникальный шестнадцатеричный идентификатор. Местоположение, вращение, масштабирование, цвет и т.д. является свойствами объекта. Рисунки CAD являются в основном объектной базой данных. Я не знаю ни о каком продукте, который делает это. Отслеживание изменений является жизнеспособным суждением, но слияние было бы намного более сложным.
У меня создалось впечатление, что SVN идеально подходит для любого вида проекта, который использует текстовые файлы. Таким образом, если бы Ваша модель составлена из текстовых файлов, то она была бы прекрасна.
Я не вижу, как двоичные данные работали бы, поскольку все управление версиями, о котором я знаю, использует различное управление, которое использует текстовые сравнения.
При использовании Подверсии, необходимо не забыть блокировать (предположение, что файлы являются двоичными, который почти все 3D образцовые форматы). Кроме Подверсии и другого OSS как она, Вы могли бы посмотреть на Поток Решетки гриля - новое программное обеспечение управления содержанием/рабочим процессом из программного обеспечения Решетки гриля. John Nack из Adobe дал ему восторженный отзыв.
3-и модели и данные являются просто файлами данных, является ли их формат текстом или двоичным файлом. Системы управления версиями могут обработать обоих с тех пор часто, Вы регистрируетесь в библиотеках и т.д., которые являются двоичными файлами.
Я не совсем уверен, что Вы подразумеваете "под подходом с открытым исходным кодом". Вы имеете в виду бесплатное решение? Можно получить проекты с открытым исходным кодом, которые должны заплатить за, в зависимости от использования, например, QT.
Подверсия или CVS сохранили бы текст или двоичные модели и оба свободны. Подверсия предпочтительна для CVS, так как это может фиксировать несколько файлов в массивах изменений. В Windows можно использовать TortoiseSVN, который является превосходным набором бесплатного инструмента.