将数据从一个web表单移动到另一个ASP.NET C#
我正试图通过遵循YouTube上的教程,将StudentRegistration上的文本框内容移动到MyProfile表单。但是,当我尝试在代码中引用studentRegistration页面时,我得到一个错误,即找不到类型或命名空间 在教程中,我可以看到他们的代码中有一个名称空间,但我的网站没有。有谁能告诉我怎样做才能在不出错的情况下引用StudentRegistration 我应该声明我有一个网站,而不是一个网络应用程序。我发现网站没有默认名称空间。我如何访问StudentRegistration而不引用命名空间将数据从一个web表单移动到另一个ASP.NET C#,c#,asp.net,C#,Asp.net,我正试图通过遵循YouTube上的教程,将StudentRegistration上的文本框内容移动到MyProfile表单。但是,当我尝试在代码中引用studentRegistration页面时,我得到一个错误,即找不到类型或命名空间 在教程中,我可以看到他们的代码中有一个名称空间,但我的网站没有。有谁能告诉我怎样做才能在不出错的情况下引用StudentRegistration 我应该声明我有一个网站,而不是一个网络应用程序。我发现网站没有默认名称空间。我如何访问StudentRegistrat
public partial class MyProfile : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (PreviousPage != null)
{
StudentRegistration LastPage = (StudentRegistration)Context.Handler;
lblEmail.Text = StudentRegistration.STextBoxEm;
}
}
}
我不想直接回答您的问题,而是想指出代码中的另一个问题,它可能会阻止它工作。您应该参考
上一页
属性中的文档,网址为:
它不会像这样工作:
PreviousPage
=来自/StudentRegistration.aspx的类PreviousPage
属性仅适用于此场景:
- 这并不意味着用户的url已更改为/MyProfile.aspx,这意味着服务器将把当前对/StudentRegistration.aspx的请求视为对/MyProfile.aspx的请求
如果(上一页!=null)
{
StudentRegistration LastPage=(StudentRegistration)Context.Handler;
//这应该是
//StudentRegistration LastPage=(StudentRegistration)PreviousPage;
}
让我觉得您误解了有点误导性的PreviousPage
属性。对于如何在.NET中跨多个页面加载保持状态的示例,我建议阅读SessionState。它的名称有点复杂,但在这种情况下,它的功能更多:
另外一个好处是,您不需要从一个类引用另一个类,所以您可以在以后修复当前的bug。此外,即使您确实解决了潜在的名称空间错误,如果您的代码按我所怀疑的那样工作,我前面概述的问题也会导致文本字段的值为空。您正在将数据从源发送到目标-例如StudentRegistration->MyProfile
你可以选择,因为在一天结束时,它是HTTP。除了“持久性”(会话)和您正在学习的教程之外,还有一种“更简单”的方法
这意味着您正在
将数据发布到目标页面。目标页面(MyProfile)必须验证和解析发布的数据(Request.Form
)。这样,您就不必管理会话状态之类的事情。这是引用的问题。您没有对StudentRegistration类的引用。用Using语句添加对它的引用,或者写出整个东西,比如.studentregistrationsanks。我是编程新手,我认为我的项目实际上没有名称空间。有没有一种方法可以创建一个?如果我使用StudentRegistration键入,我会得到一个错误,即当前上下文中不存在该名称。如果使用C,则类应始终具有名称空间。因此,如果您的项目名称是“注册”,那么您的命名空间就是注册。您的类被引用为Registration.StudentRegistration。您正在使用Visual Studio吗?通常C#中类的结构是namespace{classname{},我应该声明我正在一个网站上工作。该类的结构为公共部分类MyProfile:System.Web.UI.Pageit’如果您在网站上工作,则该类仍然是类,并且该特定类是页面背后的代码。