Мне нужно привязать другую модель к тому же самому виду в зависимости от некоторого состояния. Затем я могу изменить модель представления во время выполнения.Mvc изменение модели просмотра во время выполнения
0
A
ответ
0
Я бы не рекомендовал это делать, поскольку представление связано с моделью. Я ожидаю, что у вас есть две очень похожие модели для этого, но вам все равно придется создавать различные условия вокруг свойств, которые находятся в одной модели, а не в другой, наряду с проблемой, которая может изменить проблему, одной области.
Вы можете это сделать, если оба ваши модели наследуют от одной и той же базы:
public class ModelBase
{
public string SharedProperty { get; set; }
}
public class ModelA : ModelBase
{
public string AProp { get; set; }
}
public class ModelB : ModelBase
{
public string BProp { get; set; }
}
Затем в целях использования базы для модели и актеров, где это необходимо:
@model ModelBase
@if (Model.GetType() == typeof(ModelA))
{
@Html.EditorFor(m => ((ModelA)m).AProp)
}
Вы также необходимо принять ModelBase и лить в контроллере:
public ActionResult SomeAction(ModelBase model)
{
bool modA = model.GetType() == typeof(ModelA);
string a = modA ? ((ModelA)model).PropA : "";
}
Но опять-таки это приведет ко мне ssy код!
Смежные вопросы
- 1. Изменение отображения модели NHibernate во время выполнения
- 2. Изменение модели ORM во время выполнения
- 3. изменение 3d модели во время выполнения
- 4. Изменение модели структуры сущности во время выполнения
- 5. Изменение/обновление модели во время выполнения
- 6. Изменение модели полей во время выполнения
- 7. Изменение DataTemplates во время выполнения
- 8. Как установить шаблон представления/просмотра модели данных во время выполнения?
- 9. Изменение ширины ячейки ячейки просмотра во время выполнения
- 10. Изменение темы во время выполнения
- 11. Изменение Hashcode во время выполнения
- 12. Изменение appconfig во время выполнения
- 13. Изменение шрифта во время выполнения
- 14. изменение TOPMOST во время выполнения
- 15. Изменение анимации во время выполнения
- 16. Изменение MergedDictionaries во время выполнения
- 17. Изменение шрифта во время выполнения
- 18. Изменение ресурсов во время выполнения
- 19. Изменение переменной во время выполнения
- 20. Изменение app.config во время выполнения
- 21. Изменение LSApplicationQueriesSchemes во время выполнения
- 22. Изменение адаптера во время выполнения
- 23. Изменение persistence.xml во время выполнения
- 24. Изменение автоопределения во время выполнения
- 25. Изменение кода во время выполнения
- 26. Изменение AllowsTransparency во время выполнения
- 27. изменение во время выполнения запроса
- 28. Изменение свойств во время выполнения
- 29. Изменение MainForm во время выполнения
- 30. Изменение стилей во время выполнения