Я настроил виджет для бэкенда моего сайта Sitefinity, который имеет три текстовых поля и кнопку. Цель состоит в том, чтобы создать новый столбец в базе данных:
protected void btnAddClick(object sender, EventArgs e)
{
Type TelerikType = Type.GetType(txtTelType.Text);
Type ColumnType = Type.GetType(txtColType.Text);
string error = "";
if (TelerikType == null)
{
error = "Telerik Type is invalid";
}
if (ColumnType == null)
{
error = "Column Type is invalid";
}
if (error.Length == 0)
{
App.WorkWith()
.DynamicData()
.Type(TelerikType)
.Field()
.TryCreateNew(txtName.Text, ColumnType)
.SaveChanges(true);
error = "Added column successfully";
txtColType.Text = txtName.Text = txtTelType.Text = "";
}
literalErrorText.Text = string.Format(literalErrorText.Text, error);
}
У меня две проблемы:
Когда я ввожу Telerik.Sitefinity.Pages.Model.PageNode в текстовое поле, Type.GetType (txtTelType.Text) возвращает ноль.
Если я заменю эту часть на typeof (PageNode), я получу «Указанный тип 'Telerik.Sitefinity.Pages.Model.PageNode' не является динамическим типом."
Я надеюсь, что кто-то может иметь некоторое представление о том, почему эти вещи не будут работать правильно, или, возможно, лучший способ подойти к этой проблеме? Для справки, моя цель (по крайней мере пока) состоит в том, чтобы добавить динамический столбец, который ссылается на PageNode, чтобы я мог указать логическое значение ShowInLeftNavigation и логическое значение ShowInRightNavigation. Спасибо за любую помощь, которую вы можете предоставить.