分享
 
 
 

在服务器端控制网页

王朝html/css/js·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

使用.Net和C#开发Web应用程序往往能给我们很大的启示,尤其在开发相对简单的例行任务时就更是如此。例如,在许多时候,我们都需要有条件地显示一个网页的一部分。需要这么做的原因有许多,例如,根据用户的角色,有一部分是它不应当看到的。或者,我们也可以考虑搜索功能,只有点击了一个链接后,搜索选项才是可用的。

我们先来解释一下解决这一问题的方法,然后再详细地解释所使用的代码。在.Net中开发Web应用程序,我们既可以使用服务器端的Web控件(Web表单)也可以使用HTML控件。使用.NET开发Web应用程序的重点是服务器端控件。我们在本文中就使用了Web表单服务器端控件。

Panel是一个服务器端的Web表单控件,一个Panel控件就是HTML网页上的一个矩形区域,它是否可见可以在服务器端进行控制。因此,首先,我们可以从将HTML代码段放在一个Panel控件中,HTML代码段可以由服务器端控件和客户端控件组成。一旦我们将Panel控件的visibility属性设置为“false”,则整个HTML代码段就成为不可见的了。其次,我们可以使用名字为LinkButton的另一个Web表单控件,它本质上是一个超级链接,但通过服务器端的OnClick方法,它可以起到按钮的作用。在这种方法中,我们只要简单地访问Panel对象的C#语言表示,并将其visibility属性设置为true或false,网页就会自动地刷新自己。

在.NET中开发Web应用程序的一个重要差别是,网页上的每个控件都被表示为服务器端的一个.NET对象,而且这些对象(控件)的状态通过与服务器间的多次交互来维护,这就使我们能够对服务器端和客户端的事件作出反应。响应服务器端的事件时,百网页重新刷新时,其内部的所有对象(控件)也都会得到刷新。我们无需再绘制任何控件,这一切都是自动完成的。这种方法最有吸引力的是一个好的面向对象编程人员能够在一种编程语言模式中工作,而且可以方便地使用JavaScript,调试也非常简便。这种方法的一个小问题就是它不能使用FrontPage或Dreamweaver等HTML代码编辑器。一旦这个问题得到了解决,服务器端的编程模式就更完善了。

下面是编写本文中例子代码所需要的步骤:

?为HTML代码段获得Panel控件。

?将HTML代码置入Panel控件中。

?创建一个LinkButton控件。

?提供一个onClick函数。

?在按钮的点击函数中隐藏/显示Panel控件。

1、为HTML代码段获得Panel控件

打开网页(.aspx)的设计视图,并选择“Webforms控件”工具箱,从工具箱中拖出一个Panel控件到HTML网页的设计视图上。这时就会看到一个矩形框,发改变它的大小,直到能够容下你想输入的HTML代码段。

下面是HTML设计视图中Panel控件的定义:

HTML GOES HERE

2、将我们的HTML代码输入到Panel控件中

在Panel控件中编写相关的HTML代码(或将HTML代码拖到Panel控件中),下面是一个例子:

An example HTML segment that is going to disappearAn example drop down

3、创建一个LinkButton控件

我们需要对这一部分作一些解释。我们为什么会用LinkButton控件取代一个超级链接呢?超级链接意味着我们可以随意到包括当前的网页在内的任意网页上,但并不意味着我们要返回正在修改的网页。另外,也没有象OnClick这样能够处理超级链接的服务器端方法。

LinkButton的外观和风格与hyperlink相同,但它还有另外二点好处,即:

?点击时能够返回同一个网页。

?便于使用的OnClick方法。

下面是一个LinkButton控件定义的例子:

Change Appearance

4、提供onClick函数

如果双击LinkButton控件,IDE就会自动地将我们引到服务器端该控件的OnClick方法处,在这里我们就可以编写隐藏Panel控件的代码。

5、在按钮的OnClick方法中隐藏/显示Panel控件

下面是OnClick方法的一个例子:

private void ChangeAppearanceButton_Click(object sender, System.EventArgs e)

{

this.TestPanel.Visible = this.TestPanel.Visible ? false : true;

}

上面的代码是一个极好的知道如何维护自己状态的用品端编程模式的例子。当用户点击链接时,就会执行上面的代码,但开发人员并没有改变HTML网页的其他部分,控件本身知道如何刷新它们自己。

结论

下面是我从.NET模式中精选出来的非常有趣的特性:

?服务器端编程模式。

?Web表单的状态是自动维护的。

?高度一致的前、后端统一对象编程模式。

?用处很大的IDE能够提示每个方法和可能的参数。

?在网页的HTML视图中编写XML代码也有提示。

?配置所需要的统一的web.config。

尽管本文中的例子相当简单,即使使用传统的方法也能够非常简单地实现,但这种服务器端的编程模式说明了NET的一个有趣的特性,即能够自动维护其状态的一致的统一服务器端编程模式。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有