问题描述
我定义了一个用户控件,定义属性值tablename需要动态去指定,这个tablename就相当于是个公共变量,我在用户控件中需要引用他。我在webform中添加这个控件后给tablename赋值为什么不行,不知道该怎么实现,这个属性该怎么去定义。
解决方案
解决方案二:
可以的呀,你把代码贴点出来看看
解决方案三:
就是在用户控件定义一个公用属性,在使用时的WEBFORM里赋值。但是用户控件里的点某个按钮时要用到这个变量,用户控件中的按钮事件没有去定义什么的
解决方案四:
privateinttablename="";publicintTableName{get{returntablename;}set{tablename=value;}}
解决方案五:
ls的应该就是答案了
解决方案六:
<%=TableName.ToString()%>
解决方案七:
引用3楼Zhanlixin的回复:
privateinttablename="";publicintTableName{get{returntablename;}set{tablename=value;}}
先定义属性
解决方案八:
privateinttablename=0;publicintTableName{get{returntablename;}set{tablename=value;}}
解决方案:
b/s的用户控件与c/s的用户控件定义属性上略有不同,b/s必须保存住属性的值,以便下次读取时属性没有被postback掉publicstringtablename{get{returnthis.ViewState["tablename"].ToString();}set{this.ViewState["tablename"]=value;}}
解决方案:
用户控件与页面在同一级目录UserControl1.ascx:<%@ControlLanguage="C#"AutoEventWireup="true"CodeBehind="UserControl1.ascx.cs"Inherits="Web.UserControl1"%><asp:LabelID="Label1"runat="server"Text=""></asp:Label>UserControl1.ascx.cs:publicpartialclassUserControl1:System.Web.UI.UserControl{protectedvoidPage_Load(objectsender,EventArgse){}publicLabelLblText{get{returnLabel1;}set{Label1=value;}}}WebForm5.aspx:<%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="WebForm5.aspx.cs"Inherits="Web.WebForm5"%><%@Registersrc="UserControl1.ascx"tagname="UserControl1"tagprefix="uc1"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="server"><title>无标题页</title></head><body><formid="form1"runat="server"><div><uc1:UserControl1ID="UserControl11"runat="server"/></div></form></body></html>WebForm5.aspx.cs:protectedvoidPage_Load(objectsender,EventArgse){UserControl11.LblText="hello!";}
解决方案:
更正:UserControl11.LblText.Text="hello!";