您的位置:首页 > 其它

跨网页张贴(Cross-Page Posting),微软称为「跨网页公布」 #2

2010-10-18 18:14 501 查看
跨网页张贴(Cross-Page Posting),微软称为「跨网页公布」 #2

http://www.dotblogs.com.tw/mis2000lab/archive/2008/05/26/4124.aspx

上一篇文章,介绍过第一种方法(/article/6480653.html )。

目前要介绍的是第二种方法:

以下是出版的新书内容:本文范例已经收录在书本的15-1-5节」

[b]ASP.NET案例精编[/b](清华大学出版社 / 作者MIS2000Lab)

http://www.china-pub.com/46063

2009/5/15上市

市场价 :¥59.80 RMB(人民幣)



题目跟刚才一模一样。只是解法不同。

========================================================

假设我们有一个网页程序,要输入日期。

另外一个网页程序,会有日历控件。

点选后,日期会自动传回去。

(抱歉,有几张图片来解释可能比较清楚。But......大家忍耐一下,这东西不难。)

========================================================

作法如下:

而本范例(3.aspx)就得透过 Public属性来完成相同的功能。简单的说,3.aspx提供了一个「公开的」日历控件「属性」,可以让别的网页来读取。这样一来,也可以完成跨网页张贴(Cross-Page Posting)。

3.aspx原始网页的HTML画面设定,跟上一节的 1.aspx完全一样。在此不赘述。但是 3.aspx的后置程序代码,有很大的变化,请注意:

Partial Class test_ADO_NET_3_get

Inherits System.Web.UI.Page

'=====透过 Publlic属性,来作Cross-Page Posting=====

别的网页才能读取这个公开的信息

Public ReadOnly Property my_Calendar() As Calendar

‘-- 批注:ReadOnly指出:这个公开的属性,只能被读取而已。这样较安全!

Get

Return Calendar1

End Get

End Property

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

TextBox1.Text = Calendar1.SelectedDate.Date.ToShortDateString

'--把选取的日期,以「短日期格式」来呈现。

End Sub

End Class

这个范例,比较特别的是第二支程序(4.aspx,目的地网页),请注意!HTML画面原始档多了一行设定<%@ PreviousPageType VirtualPath="3.aspx" %>」,用来读取上一个网页的公开信息。

设定「<%@ PreviousPageType VirtualPath="3.aspx" %>」这一行,除了锁定「上一个网页」的文件名与位置,也限制了接收信息的网页(4.aspx,目的地网页)不能任意使用其它网页的信息,全都是为了安全起见。4.aspx的后置程序代码如下:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

Label1.Text = PreviousPage.my_Calendar.SelectedDate.ToString

End Sub

本节范例的执行结果,跟上一节完全相同,但却有两种不同作法




.............................................................................................

微软官方文件有更详细的说明(以下是中文的文件),微软称「Cross-Page Posting」为「跨网页公布

http://msdn.microsoft.com/zh-tw/library/ms178139.aspx

[b]ASP.NET案例精编[/b](清华大学出版社 / 作者MIS2000Lab)

http://www.china-pub.com/46063

2009/5/15上市

市场价 :¥59.80 RMB(人民幣)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: