具体题目在这里:
1. 首先添加Survey.aspx页面,用于收集用户基本信息和用户最后一次旅行以及将要旅行日期、骑自行车的能力(单选项,包括:初学者、有一定经验和专家)、经验(单选项,包括:仅在公路骑驶、在森林防火带骑驶、单行道骑驶、山地骑驶和赢得山地竞赛)、目标(多选项,包括:得到更多公路自行车骑驶经验、得到更多山地自行车骑驶经验、升级我的自行车和得到最新的配件)和联系方式(单选项,包括:不要给我发送销售信息、仅发送来自Adventure Works的销售消息和发送我感兴趣的任何销售信息)等相关信息。需要使用的控件包括 TextBox、Calendar、RadioButton、CheckBox和Button等。要求在该页面类中添加公共属性,公开上述信息,以便在跨页提交中通过强名称引用。
2. 然后添加SurveyReceipt.aspx页面,用于显示前者收集到的信息。在该页面中首先添加@PreviousPageType指令,设置跨页提交的父页,然后在页面上添加Label控件,并在Page_Load收集方法中通过强名称方式访问Survey页中收集到的信息,并输出到Label控件的Text属性上。

解决方案 »

  1.   

    谁来帮帮我啊,搞了一天了。虽然知道可以用PreviousPage.FindControl来完成,但是没有用到要求的公共属性。哪位好心人来救火?
      

  2.   

    把收集的信息放到HASHTABLE中,然后放到SESSION里取出来
      

  3.   

    hashtable ht=new hashtable();
    ht.add("jingyan",value);
    ht.add("datetime",日期value);
    Session["hashtable"]=ht;下一个页面取出来
      

  4.   

    有。。你Survey.aspx写一个public 的属性。。PreviousPage 转为强类型就可以找到
      

  5.   

    比如我写个属性 public string name
    {get{return textbox1.Text} };然后我在surveyReciept页加一句<%@ PreviousPageType VirtualPath="~/Survey.aspx" %>,但是还是无法调用Survey的name属性
      

  6.   

    我不会用session,希望你可以按照题目要求的那样帮我想想
      

  7.   

    cookies现在还没看,想先把题目的那个弄清楚,谢谢大家的帮忙啊!
      

  8.   

    @PreviousPageType属性(Attributes)
    TypeName:指定前置页面的类型名称。
    VirtualPath:指定前置页面的虚拟路径。
    这两个属性不能同时出现,否则就白填,指令无效。
     
    大多数时候应该都用不到这个指令,因为当前页面的PreviousPage的值并不取决于这个指令,而是你调用这个页面的方式,只有跨页面的提交和在服务器端调用Transfer时才会保存前置页面的实例.Page类提供IsPostBack,IsCallback,IsCrossPagePostBack三个属性来判断用户是如何来判断当前页面是如何被调用的。
      

  9.   

    通常,如果你cross-page postback之后想访问PreviousPage,你可以用PreviousPage得到之前一页的ref,然后再findcontrol。但系如果你想访问前页codebehind里面的public property呢?那么这种方法就失效了,因为默认的page control没有哪个属性。此时你可以通过设置这个PreviousPageType,取得一个specified的前页,然后直接访问那个public属性。其中PreviousPageType的VirtualPath可以用来指定具体的前页文件名。这样只有当postback是来自这个文件的时候才可以访问那个属性。如果你有一堆页inherit from一个BasePage的话,且属性包含在base里,那么就可以通过设置TypeName,这样就能使上面的访问可以对应多个前页了