为什么自定义控件里 <%#string.Format("测试")%> 取不到值 <cc1:ServerControl1 ID="ServerControl2" runat="server" Text=<%#string.Format("测试")%> />结果是Text 为null 哥们没有值传过去,该怎么半? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 微软写的,呵呵。using System;using System.Collections.Generic;using System.ComponentModel;using System.Linq;using System.Text;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;namespace ServerControl2{ [DefaultProperty("Text")] [ToolboxData("<{0}:ServerControl1 runat=server></{0}:ServerControl1>")] public class ServerControl1 : WebControl { [Bindable(true)] [Category("Appearance")] [DefaultValue("")] [Localizable(true)] public string Text { get { //String s = (String)ViewState["Text"]; //return ((s == null) ? "[" + this.ID + "]" : s); return (String)ViewState["Text"]; } set { ViewState["Text"] = value; } } protected override void RenderContents(HtmlTextWriter output) { output.Write(Text); } }} <cc1:ServerControl1 ID="ServerControl2" runat="server" Text=<%=string.Format("测试")%> />改成这样 早就试过了。服务器报错分析器错误消息: 服务器标记不能包含 <% ... %> 构造。 Text=<%=string.Format("测试")%>是“=”。 string.Format("测试")是这么用吗?至少2个参数啊http://msdn.microsoft.com/en-us/library/system.string.format.aspx<%=%>是对的 能够传送动态的值,例如 <cc1:ServerControl1 ID="ServerControl2" runat="server" Text=<%#Request.QueryString["classid"]%> /> 现在问题改成这个。<cc1:ServerControl1 ID="ServerControl2" runat="server" Text=<%#Request.QueryString["classid"]%> />:( 成功了。不过运算都是protected override void OnInit(EventArgs e)里面的。谢谢啦。现在测试 呵呵,我这个不行,因为protected override void OnInit(EventArgs e)里面有运算,需要提前绑定。 为什么我将自己制作的静态的转换成动态的位置改变了 Gridview中间是否能插入行,如果不能那datatable能不能中间插入行 .net c#用户控件问题 超连接弹窗口的问题 安全机制问题!! asp.net vb.net DataGrid 绑定数据后不显示! 请教高手,跪求 急急急急! 求救ASP做网页访客跟踪系统!100分! 类应用的问题! 在Asp.net中如何遍历一个本地目录下的所有文件并上载到Web 服务器上指定的目录中 求解关于asp.NET的引用问题 datalist页面传值丢失问题,有点急
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;namespace ServerControl2
{
[DefaultProperty("Text")]
[ToolboxData("<{0}:ServerControl1 runat=server></{0}:ServerControl1>")]
public class ServerControl1 : WebControl
{
[Bindable(true)]
[Category("Appearance")]
[DefaultValue("")]
[Localizable(true)]
public string Text
{
get
{
//String s = (String)ViewState["Text"];
//return ((s == null) ? "[" + this.ID + "]" : s);
return (String)ViewState["Text"];
} set
{
ViewState["Text"] = value;
}
} protected override void RenderContents(HtmlTextWriter output)
{
output.Write(Text);
}
}
}
早就试过了。服务器报错
分析器错误消息: 服务器标记不能包含 <% ... %> 构造。
能够传送动态的值,例如
<cc1:ServerControl1 ID="ServerControl2" runat="server" Text=<%#Request.QueryString["classid"]%> />
现在问题改成这个。
<cc1:ServerControl1 ID="ServerControl2" runat="server" Text=<%#Request.QueryString["classid"]%> />
:(
成功了。不过运算都是protected override void OnInit(EventArgs e)里面的。谢谢啦。现在测试
呵呵,我这个不行,因为protected override void OnInit(EventArgs e)里面有运算,需要提前绑定。