我有一个a1.aspx.cs
文件,我创建了新的class1.cs
文件。我想在class1..cs
当我在a1.aspx.cs
中编写方法时,一切正常,但是当我尝试将按钮点击事件中的内容粘贴到class1.cs
文件中并调用该函数时, am无法获得我在我的网页中使用的所有控件,我应该通过哪些参数 ??
,错误来自
Error 1 The name 'DropDownList1' does not exist in the current context
还有更多这样的错误。
请帮助我了解如何在a1.aspx.cs
答案 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
{
}
现在,您将能够访问此课程中的所有控件和事件。 这将是同一个类,但是在两个不同的物理文件中。