我为我的 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) 返回 null。
如果我用 typeof(PageNode) 替换该部分,我会得到“指定类型'Telerik.Sitefinity.Pages.Model.PageNode'不是动态类型。”
我希望有人可能对为什么这些事情不能正常工作有所了解,或者可能是解决这个问题的更好方法?作为参考,我的目标(至少现在)是添加一个引用 PageNode 的动态列,以便我可以指定 ShowInLeftNavigation 布尔值和 ShowInRightNavigation 布尔值。感谢您提供任何帮助。