<a1:s1 z1=<% =for_z1 %> runat="server"/>可以的,你必须在后代吗设置为public类型的
在index.aspx中:<a1:s1 id="a1_id" runat="server"/>在index.aspx.cs中的Page_Load内:a1_id.z1=for_z1也可以,你必须指定类名字
在index.aspx中:<a1:s1 id="a1_id" runat="server"/>在index.aspx.cs中的Page_Load内:a1_id.z1=for_z1也可以,你必须指定类名字
Codebehind="SiteHeader.ascx.cs" classname="SiteHeader"
classname="SiteHeader" Inherits="ASPNet_App.Controls.SiteHeader">
classname要这个
参考
http://www.pardesiservices.com/softomatix/UserControls2.asp
自定义控件在page_load中的用法: Dim mycontrol As Control
mycontrol = LoadControl("mycontrol.ascx")
myplace.Controls.Add(mycontrol)直接用自定义控件的ID认不出。 要在html中放个<asp:PlaceHolder ID="myplace" Runat="server" />
呵呵
首先第一种用法严重错误,绑定符应该是<% #变量|表达式|函数%>被绑定的一定是一个返回单一结果的变量勤务者函数第二种用法也可以,但是,VS2003不会为自定义控件生成声明代码,因此,你应该在代码文件的类定义中加入对该控件的声明,如localhost.inc.Control1 MyControl,要注意的是该名称与控件ID要一致即可
public string StrValue;在使用这个用户控件的代码里:
先声明你这个用户控件:protected 控件命名空间.类名称 mAscx;
然后在需要的地方写:
mAscx.StrValue = "aaa";
以这种方式给Text赋值:
<asp:Button id="Button3" runat="server" Text="<%# xyz %>"></asp:Button>
在服务器端则使用下面的方式取值,首先需要定义一个public的变量:
public string xyz = "BUTTONXYZ";
然后在Page_Load里面调用下面的方法:
this.DataBind();
就可以实现。服务器控件是不支持直接使用<%=%>赋值的,如果需要赋值你可以使用DataBind方法。祝好运!