问题描述
UserControl怎么实现把值写在标签<uc:testrunat="server">我是值</uc:test>test.ascx页面<%@ControlLanguage="C#"AutoEventWireup="true"CodeFile="test.ascx.cs"Inherits="UCTest"%><div>aaa</div><div>bbb</div>
test.ascx要怎么改动以及test.ascx.cs要如何写才能把“我是值”放在aaa和bbb两个div当中请帮忙,谢谢了
解决方案
解决方案二:
实现ITextControl.Text属性应该就可以了吧,其实写在中间,跟你写在<ucText=""></uc>又有啥区别
解决方案三:
<uc:testrunat="server">我是值</uc:test>这样不对。<div>aaa</div><spanid="sptets"runat="server"><div>bbb</div>然后在test.ascx.cs的pageload里面赋值就可以注意加上ispostback
解决方案四:
<div>aaa</div><%=this.Text%><div>bbb</div>最好中间那个也套一个div
解决方案五:
引用1楼dongxinxi的回复:
实现ITextControl.Text属性应该就可以了吧,其实写在中间,跟你写在<ucText=""></uc>又有啥区别
我是值这里可能是大量的html代码,如果写在属性里会不方便,可读性也差
解决方案六:
参考这样子:
解决方案七:
引用3楼dongxinxi的回复:
<div>aaa</div><%=this.Text%><div>bbb</div>最好中间那个也套一个div
会提示“ASP.page_system_usercontrol_test_ascx”内不允许包含文字内容(“我是值”)。
解决方案八:
那你直接继承System.Web.UI.HtmlControls.HtmlContainerControl就好了另外System.Web.UI.HtmlControls.HtmlGenericControl:System.Web.UI.HtmlControls.HtmlContainerControl类似<divid="xx"runat="server"visible="false">一砣</div>很常见吧,<ucid="uc1"HtmlContainer="xx"/>你在uc1里定义一个属性publicHtmlContainerControlHtmlContainer{get;set;}ascx中就改为<div>aaa</div><%=this.HtmlContainer.InnerHtml%><div>bbb</div>
解决方案九:
引用7楼dongxinxi的回复:
那你直接继承System.Web.UI.HtmlControls.HtmlContainerControl就好了另外System.Web.UI.HtmlControls.HtmlGenericControl:System.Web.UI.HtmlControls.HtmlContainerControl类似<divid="xx"runat="server"visible="false">一砣</div>很常见吧,<ucid="uc1"HtmlContainer="xx"/>你在uc1里定义一个属性publicHtmlContainerControlHtmlContainer{get;set;}ascx中就改为<div>aaa</div><%=this.HtmlContainer.InnerHtml%><div>bbb</div>
昨晚有尝试你这个办法但是失败了,可能是我写错,能否给一个完整的小例子,多谢
解决方案十:
//ascx.cspublicstringHtmlContainer{get;set;}publicstringHtmlContainerInnerHtml{get{if(!string.IsNullOrEmpty(this.HtmlContainer)){varctrl=this.Page.FindControl(this.HtmlContainer)asSystem.Web.UI.HtmlControls.HtmlContainerControl;if(ctrl!=null){returnctrl.InnerHtml;}}returnstring.Empty;}}
ascx<div>aaa</div><%=this.HtmlContainerInnerHtml%><div>bbb</div>aspx<divid="xx"runat="server"visible="false"><div>一砣随意放</div></div><uc:testid="uc1"runat="server"HtmlContainer="xx"/>
解决方案十一:
引用9楼dongxinxi的回复:
//ascx.cspublicstringHtmlContainer{get;set;}publicstringHtmlContainerInnerHtml{get{if(!string.IsNullOrEmpty(this.HtmlContainer)){varctrl=this.Page.FindControl(this.HtmlContainer)asSystem.Web.UI.HtmlControls.HtmlContainerControl;if(ctrl!=null){returnctrl.InnerHtml;}}returnstring.Empty;}}ascx<div>aaa</div><%=this.HtmlContainerInnerHtml%><div>bbb</div>aspx<divid="xx"runat="server"visible="false"><div>一砣随意放</div></div><uc:testid="uc1"runat="server"HtmlContainer="xx"/>
多谢!
解决方案十二:
为什么结贴的加分不显示?已经进入已解决,帖子前面还是问号。。。引用9楼dongxinxi的回复:
解决方案十三:
无法结贴了,怎么吧,有没有人帮忙
解决方案十四:
写好了,参考之: