动态地将CalendarExtender添加到代码隐藏中的WebForm

时间:2013-05-27 14:57:19

标签: asp.net dynamic ajaxcontroltoolkit code-behind calendarextender

我正在尝试从 ASP.NET Ajax Toolkit 动态添加控件CalendarExtender到WebForm页面。当我访问WebPage时,我已经编写了要添加的控件 - 我有一个错误:

MissingManifestResourceException

无法找到适合指定文化或中性文化的任何资源。确保在编译时将“AjaxControlToolkit.Properties.Resources.NET4.resources”正确嵌入或链接到程序集“AjaxControlToolkit”中,或者所有所需的附属程序集都是可加载和完全签名的。

一段代码,错误发生在哪里:

// set User birthdate
Label labelUserBirthdate = new Label();
labelUserBirthdate.ID = "editableLabelSecondName";
labelUserBirthdate.Text = "Bithday: ";

TextBox editableBirthdate = new TextBox();
editableBirthdate.ID = "editableTextBoxBirthday";
editableBirthdate.CssClass = "round default-width-input";

CalendarExtender birthdateCalendar = new CalendarExtender();
birthdateCalendar.ID = "calendarExtender" + Guid.NewGuid().ToString();
birthdateCalendar.TargetControlID = "editableTextBoxBirthday";

this.contentViewWebdata.Controls.Add(labelUserBirthdate);
this.contentViewWebdata.Controls.Add(Page.ParseControl("<br />"));
this.contentViewWebdata.Controls.Add(editableBirthdate);
this.contentViewWebdata.Controls.Add(birthdateCalendar);
this.contentViewWebdata.Controls.Add(Page.ParseControl("<br />"));

完整代码(问题确实发生在SetSceneEditableUserInfo()):

我在网上搜索了这样的主题,而其他人做同样的事情:

  • 只包含AjaxControlToolkit
  • 的命名空间
  • 制作CalendarExtender的新实例
  • 设置ID
  • 设置目标ID

如你所见,我正在做类似的事情。为什么它会在资源上争论?我不明白:

  • 包含正确的DLL
  • 命名空间也包含在CodeBehind中。

如何解决我的问题?

1 个答案:

答案 0 :(得分:1)

问题已由我自己解决。

出现问题是因为我忘了动态地将ToolkitScriptManager控件添加到页面中。现在它正在发挥作用。