test.ascx <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="test.ascx.cs" Inherits="Web.control.test" %><div> <asp:ImageButton ID="imageBtn" runat="server" ImageUrl="~/images/qq.png" OnClick="imgBtn_Click" /> </div>using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls;namespace Web.control { public partial class test : System.Web.UI.UserControl { protected void Page_Load(object sender, EventArgs e) {
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="test.ascx.cs" Inherits="Web.control.test" %><div>
<asp:ImageButton ID="imageBtn" runat="server" ImageUrl="~/images/qq.png" OnClick="imgBtn_Click" />
</div>using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;namespace Web.control
{
public partial class test : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
} protected void imgBtn_Click(object sender, EventArgs e)
{
TextBox txtName = (TextBox)imageBtn.Parent.Page.FindControl("txtName");
if (txtName != null)
{
txtName.Text = "xxx";
}
} }
}
out.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="out.aspx.cs" Inherits="Web._out" %><%@ Register Src="~/control/test.ascx" TagName="test" TagPrefix="csdn" %><!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">
<title>Control set outer value</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
<csdn:test ID="test1" runat="server" />
</div>
</form>
</body>
</html>
{
TextBox tb = this.Page.Page.FindControl("TextBox1") as TextBox;
tb.Text = "123";
}这样的话那个TextBox1的Text就为123了。