当前位置:首页 > 代码 > 正文

包含javascript数据访问层代码在哪的词条

admin 发布:2022-12-19 19:02 140


本篇文章给大家谈谈javascript数据访问层代码在哪,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

数据访问层常见的方法有哪几种?

一、响应重定向方法

响应重定向方法是目前为止将一个网页重定向到另一个网页的最简单的方法的最简单的方法。当Web服务器接到一个重定向请求后,它会将一个响应头送给客户端,这将导致客户端发送一个新的请求到服务器。按句话说,一个重定向请求实际上是两个请求响应:一个是最初的请求响应,另一个是新的重定向请求响应。

在ASP.NET中实现重定向很容易。下面的代码演示了如何使用Response.Redirect方法实现网页重定向:

protected void Redirect_Click(object sender, EventArgs e)

{

Response.Redirect("menu.aspx");

}

要注意的是重定向请求只是一个GET请求,这就意味着我们不能从源页中通过重定向命令提交数据。但是我们可以在重定向中使用查询字符串来传递数据。如下面代码所示:

protected void Redirect_Click(object sender, EventArgs e)

{

Response.Redirect("menu.aspx?userName=" + UserName.Text));

}

上面的例子将一个查询字符串作为参数传递给了Response.Redirect方法的目标URL。我们可以通过如下的代码获得源数据。

protected void Page_Load(object sender, EventArgs e)

{

string userName = Request["userName"];

}

二、服务器传输方法

和依赖于客户端向另一个新页发请求不同,服务器传输是一种服务器重定向技术,这种技术通过简单的改变Web服务器所处理的代码来达到请求一个新页的目的。当被请求页和源页面在同一个服务器时,服务器传输要比 Response.Redirect方法更有效,这是由于这种技术可以避免额外的开销,仅仅使用服务器的资源就可以进行重定向。要注意的这种技术有一个副作用,在页面进行重定向时,客户端的URL仍然会保持源页面的URL,这可能会使客户认为他们所获得的数据是源页面产生的。当然,在大多数情况下,这不是问题,但是这将使调试变得更困难。

Server.Transfer方法还可以保存初始页的 HttpContext。因此,目标页可以访问源页面的值。我们可以使用FormsCollection属性来从目标页面中获得源页面的值。首先,要确定我们使用了被重载的方法,这个方法有两个参数:目标URL和一个Boolean类型的值,告诉服务器是否保存用于描述源页面值的Form。如下面的代码所示:

Server.Transfer("Menu.aspx",true);

然后,我们在目标页面中获得一个叫txtUserName的Textbox控件的值的代码如下:

object obj = Request.Form["txtUserName"];

三、Response.Redirect和Server.Transfer的比较

由于Response.Redirect方法要进行两次请求响应操作,因此,我们应该在对性能要求高的网站尽量避免使用这种方法。然而,只从技术上说,使用redirect方式确实可以从一个网页跳到另一个网页。相比之下,Server.Transfer会更有效率,但是跳转的范围仅限于同一个Web服务器的不同网页。从本质上说,我们可以使用 Server.Transfer来消除不必要的请求响应操作。如果我们需要重定位到不同服务器的网页,就需要使用Response.Redirect方法。

四、跨页提交概述

在ASP.NET 2.0中,我们可以通过实现IbuttonControl接口提交给不同的WebForm,来实现跨网页的提交。和Response.Redirect类似,跨网页提交是一个基于客户端的传输机制,但也有点象Server.Transfer,目标网页也可以访问源网页的数据。为了使用跨网页提交,我们需要在源网页中的PostBackUrl属性中指定目标URL。

五、实现跨网页提交

这部分将讨论一下如何在ASP.NET2.0中实现跨网页提交。为了开始我们的学习,假设有两个Web页,一个是源Web页,另一个是目标Web页。在源网页中初始化了使用按钮进行的跨网页提交操作。我们首先必须设置目标网页按钮的PostBackUrl属性,顺便说一句,所有实现了System.Web.UI.WebControls.IbuttonControl接口的Web控件都有跨网页提交的特性。下面的代码将演示这一过程。

PostBackUrl="~/target.aspx" text = "Post to a target page"/

当我们设置PostBackUrl属性时,ASP.NET框架将相应的控件绑定到一个新的叫WebForm_DoPostBackWithOptions的JavaScript函数,产生的Html代码如下:

onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("btnSubmit", "", false, "","Target.aspx", false, false))" id="btnSubmit" /

对于上面的html代码来说,当用户单击按钮时,浏览器将提交目标URL(Target.aspx),而不是源URL。

六、从目标页面中获得源页面控件的值

ASP.NET2.0提供了一个叫PreviousPage的新的属性,这个属性无论在何时当前页面进行跨网页提交操作时都会指向源页面。要注意的是,当源页面和目标页面在不同的应用程序中时,这个属性包含null(这个null并不是未初始化的意思)。还有要注意的是当目标网页访问PreviousPage属性时可以获得源页面的数据,ASP.NET运行时装载并执行了源页面。这将引发ProcessChildRequest事件的发生。而且,它还会引发Page_Init事件、Page_Load和任何其他的源页面按钮单击事件。

因此,我们要避免由于不小心进行误操作,所以最好通过 IsCrossPostBack属性来确认是否为一个跨网页提交发生,如果这个属性值为true,那么目标网页就是通过一个跨网页提交动作而调用的。如果是通过另外一种方式调用的(如一般的请求、Response.Redirect或是一个Server.Transfer),这个属性的值为false。下面的例子演示了如何使用这个属性。

if ( PreviousPage.IsCrossPagePostBack)

{

//执行代码

}

//******************************************

这个PreviousPage属性在Server.Transfer和跨网页提交中都可以使用。在ASP.NET2.0中,我们可以在调用Server.Transfer操作后使用PreviousPage属性在目标页面中来获得源页面的数据,代码如下:

*******************************************//

{

Server.Transfer("menu.aspx");

}

protected void Redirect_Click(object sender, EventArgs e)

//在这个接收面中我们现在可以获得Web页面的数据,代码如下:

protected void Page_Load(object sender, EventArgs e)

{

if (PreviousPage != null)

{

TextBox txtBox = (TextBox)

PreviousPage.FindControl("txtUserName");

if (textBox != null)

string userName = textBox.Text;

//其他可执行的代码

}

}

要注意的是上面的代码必须将txtUserName控件转换为TextBox类型,以便可以访问其中的值。

七、使用PreviousPageType

PreviousPageType属性提供了在跨网页操作中访问源页面的强类型能力,下面让我们演示一下如何不通过任何类型转换来从源页面中获得控件值。代码如下:

asp:Textbox ID="txtUserName" Runat="server" /

asp:Textbox ID="txtPassword" Runat="server" /

asp:Button ID="Submit" Runat="server" Text="Login"PostBackUrl="Menu.aspx" /

要注意的是单击按钮可以重定向到一个叫“Menu.asp”的目标页。这个目标页可以使用如下的代码获得用户名和密码:

八、保存视图状态

对于跨网页提交来说,ASP.NET2.0 内嵌了一个叫__POSTBACK的隐藏字段,这个字段包含了关于源页面的视图信息 -- 也就是由源页面提供了,包含了一个带有一个非空PostBackUrl属性值的服务端控件。目标页可以使用__POSTBACK中的信息来获得源页面的视图状态信息。代码如下:

if(PreviousPage!=null PreviousPage.IsCrossPagePostBack

PreviousPage.IsValid)

{

TextBox txtBox = PreviousPage.FindControl("txtUserName");

Response.Write(txtBox.Text);

}

在上面的代码中核对了用于确保PreviousPage属性不为 null的检查代码。顺便提一下,如果目标页和源页面不在同一个应用程序中,这个PreviousPage属性的值为null。只有在进行跨网页提交操作时,IsCrossPagePostBack属性才为true。

这个跨网页提交的特性,是ASP.NET2.0中最强有力的特性之一,这种技术将允许在一个页面中提交到另外一个页面,并且可以在目标页面地无缝地操作源页面中的数据。

数据访问层代码写在哪里

只能说写在后台脚本块里,而在脚本块里,与位置无关,只要调用正确就行,在后台:数据访问层只是对后台代码中用以访问数据库的代码概念称谓,而没有位置格式;纵是和业务层后台代码混杂在一起,不管放在哪里,都可以;因为web层架构是按功能分类,而非按位置分类,这是概念上的东西,与位置无关 。

在jsp中javascript的代码应该写在那里啊?

最好是单独写个文件夹,然后写个js文件放置

然后在jsp页面通过

script src="js文件的相对地址"来导入。

当然你写在head里也可以。

最好能不写在页面里就不写在页面里。。

实现一般都用外部js文件导入。一是分离开,方便修改。二是可以js代码复用。

你想啊,只写在一个jsp里,如果我另一个要用怎么便????你复制过去吗???这个和java里的封装方法一个思想

所以建议通过外部 js导入

像楼主提供的这种简单的js。一般直接放在页面中即可。我说的是方法比较多的情况才用外部文件。

这个也不难区别的。

javascript数据访问层代码在哪的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、javascript数据访问层代码在哪的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/19158.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载