文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>[代码]获取源页的控件值

[代码]获取源页的控件值

时间:2010-11-03  来源:光脚丫思考

一、获取的是源页上的控件

示例代码
在这个示例代码中,源页有一个名为UserNameTextBox的TextBox控件,用户可以在这个控件中输入自己的姓名,然后单击【提交到目标页】按钮,源页就会被发送到目标页DestinationPage.aspx。在目标页的代码中,通过Page.PreviousPage属性获取源页的引用,然后通过FindControl()找到UserNameTextBox控件,进而通过此控件的Text属性获取用户在源页输入的姓名。代码如下:
源页的代码

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SourcePage1.aspx.cs" Inherits="SourcePage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="UserNameTextBox" runat="server"></asp:TextBox>
        <br />
        <asp:Button ID="SubmitButton" runat="server" Text="提交到目标页"
            PostBackUrl="~/DestinationPage.aspx" />
    </div>
    </form>
</body>
</html>

下面是目标页获取源页数据的代码:

if (this.PreviousPage != null)
{
    TextBox UserNameTextBox =
        (TextBox)this.PreviousPage.FindControl("UserNameTextBox");
    if (UserNameTextBox != null)
    {
        this.Response.Write(string.Format(
            "{0}, Welcome you to the ASP.NET 4 World!",
            UserNameTextBox.Text));
    }
}

测试上面的代码你就会发现,已经而已正确的从目标页获取用户在源页当中输入的用户名了。^_^


二、获取的是源页控件中的控件

重点说明
这种情况比前面的情况稍微麻烦一点,但是也不至于困难到让人望而生畏的地步。
简单的说,就是首先获取包含控件的容器控件,然后再通过容器控件的FindControl()方法进一步获取所需要的控件。
如果,控件是在容器控件中的容器控件中呢?
道理是一样的,继续找容器控件中的容器控件,直到找到了包含控件的上一级容器控件,然后再FindControl()它出来就行了。

示例代码
本示例代码中,我们要找的是页面的Login控件中的用来输入用户名的文本框控件。这个控件的ID是UserName。首先我们通过调用Page.PreviousPage.FindControl()来找到Login控件,然后再调用Login.FindControl()进一步找到文本框控件。
下面是源页中的代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SourcePage2.aspx.cs" Inherits="SourcePage2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Login ID="UserLogin" runat="server">
        </asp:Login>
        <asp:Button ID="SubmitButton" runat="server" Text="提交到目标页"
            PostBackUrl="~/DestinationPage.aspx" />
    </div>
    </form>
</body>
</html>

目标页中获取用户名的代码如下:

if (this.PreviousPage != null)
{
    Login UserLogin = (Login)this.PreviousPage.FindControl("UserLogin");
    if (UserLogin != null)
    {
        TextBox UserNameTextBox = (TextBox)UserLogin.FindControl("UserName");
        if (UserNameTextBox != null)
        {
            this.Response.Write(string.Format(
                "{0}, Welcome you to the ASP.NET 4 World!",
                UserNameTextBox.Text));
        }
    }
}


测试一下,看看是不是已经正确的获取了源页中的用户名呢?

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载