如何从asp.net c中的.aspx.cs调用.cs文件

时间:2010-12-10 06:39:45

标签: c# .net asp.net visual-studio controls

我有一个a1.aspx.cs文件,我创建了新的class1.cs文件。我想在class1..cs

中的a1.aspx.cs中调用一个函数

当我在a1.aspx.cs中编写方法时,一切正常,但是当我尝试将按钮点击事件中的内容粘贴到class1.cs文件中并调用该函数时, am无法获得我在我的网页中使用的所有控件,我应该通过哪些参数 ??

,错误来自

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

还有更多这样的错误。 请帮助我了解如何在a1.aspx.cs

中调用函数

3 个答案:

答案 0 :(得分:2)

您必须将类方法的控件作为参数传递

这样的东西
public class YourClass
{
    public void YourMethod (DropDownList dowpdownlist)
    {
        //do stuff here with dowpdownlist
    }
}

这似乎不是处理事情的最佳方式。

通常我更喜欢将UI逻辑与UI本身保持一致,纯粹出于简单原因。

答案 1 :(得分:0)

当然,你永远不会从class file (i.e. .cs file)的aspx文件中获得任何UI控件。你要么必须在方法的参数中传递UI控件。

如果您只是将下拉值传递给类文件中的方法,那就更好了。

.cs类文件

public class MyClass
{
    public void SaveData(string selectedValue)
    {
        // do some work with the value
    }
}

.aspx.cs文件

public partial class AttendLiveSession : System.Web.UI.Page
{
    protected void imgbtnGetItButton_Click(object sender, ImageClickEventArgs e)
    {
        MyClass c = new MyClass();
        c.SaveData(DropDownList1.SelectedValue);
    }
}

答案 2 :(得分:0)

理想情况下,您不应该在class1.cs文件中使用UI控件。但是如果需要,可以将控件“DropDownList1”传递给class1.cs中的函数,然后在方法中引用控件。

修改 我还要补充一点,如果您打算在class1.cs文件中只编写与UI相关的代码,那么您可以随时更改class1.cs中的类声明,如下所示:

public partial class a1
{

}

现在,您将能够访问此课程中的所有控件和事件。 这将是同一个类,但是在两个不同的物理文件中。