2011-01-06 81 views
0

如何通过Editor1作为参数:错误在asp.net C#

在我的aspx.cs我给一个函数,它是在同一项目cs文件的调用,如下所示:

protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    DropDown abs = new DropDown(); 
    abs.dd(this.DropDownList2, this.DropDownList3); 
} 

.CS文件代码

public void dd(DropDownList DropDownList2, DropDownList DropDownList3) 
    { 
     //My code which contains DropDownList2 DropDownList3 and Editor1 
    } 

是我得到的错误是:

Error 1 The name 'Editor1' does not exist in the current context  

我已经通过DropDownList2和DropDownList3的方式,我无法传递Editor1(它是一个Ajax控件)。我如何通过它?

+0

什么是Editor1,你为什么要通过它(你想用它做什么)?你能否通过该控制的“价值”? – 2011-01-06 09:55:48

回答

0

如果因任何原因,你的控制没有被设计者赋予后备的财产,你可以在你的事件处理程序得到它的引用这样的:

var editor1 = (AjaxControlToolkit.HTMLEditor.Editor)FindControl("Editor1"); 

,并通过这个作为一个额外的参数dd方法:

public void dd(
    DropDownList DropDownList2, 
    DropDownList DropDownList3, 
    AjaxControlToolkit.HTMLEditor.Editor Editor1) 
1

在ASP.NET在过去的一段时间,我没有经历过这样的事情,当我没有宣布控件的.aspx,由于某种原因,他们并没有在后面的代码访问,在这种情况下我刚刚更名为这种恶劣的页面,创建新页面使用相同的代码,它有帮助。但之后,当我切换到MVC时,我发现没有这种情况:)

如果没有控制名称,您需要在您的文件“yourpageneme.aspx.designer.cs”中查看它的名字叫做“Editor1”,这是否意味着它不会在后面的代码中可用,所以你需要再次重新创建它,有时只是这个控件的重新创建不会有帮助,它仍然不会出现在“.aspx.designer.cs “在这种情况下,你需要重新创建页面。