关于用户自定义控件中属性使用的代码问题

本拉灯 2007-01-11 11:35:38
我弄了一个自定义的控件
我在ascx中引用这个控件

<XXX:BoardDropDownList ID="JumpBoard" Runat=server Mode="JUMP" JumpURL="<%=Globals.Path%>/List.aspx"/>

我现在不解的是为什么IE浏览后,JumpURL会把<%=Globals.Path%>当成字符串,而不是服务端的代码,我的目的是JumpURL这个属性相当于
TextBox中的Text一样 当用户<asp:TextBox id=xx runat=server Text="<%=XX%>"/>
他会把<%=XX%>当成服务端的变量使用而不是字符串,





CS
如下
public class BoardDropDownList:DropDownList
{
public BoardDropDownList()
{

}

protected override void CreateChildControls()
{
if(!Page.IsPostBack)
{
AddItem();
AddBoardGroup();
}
}


private void AddItem()
{

switch(Mode.ToUpper())
{
case "JUMP":
Items.Add(new ListItem(ResourceManager.GetString("JumpOrtherBoard"),"#"));
this.Attributes.Add("OnChange","javascript:location.href=this.value;");
break;
case "SEARCH":
Items.Add(new ListItem(ResourceManager.GetString("SearchAllBoard"),"0"));
break;
case "MOVETOPIC":
Items.Add(new ListItem(ResourceManager.GetString("ManagePost_MovedTopicSelect"),"0"));
break;
}
}

private void AddBoardGroup()
{



foreach(BoardGroup G in BoardGroups.GetBoardGroups())
{


switch(Mode.ToUpper())
{
case "JUMP":
Items.Add(new ListItem("╋"+G.BoardGroupName,"#"));
break;
case "SEARCH":
Items.Add(new ListItem("╋"+G.BoardGroupName,G.BoardGroupID.ToString()));
break;
case "MOVETOPIC":
Items.Add(new ListItem("╋"+G.BoardGroupName+ResourceManager.GetString("ManagePost_NoMoved"),"0"));
break;
default:
Items.Add(new ListItem("╋"+G.BoardGroupName,"0"));
break;
}
AddBoard(G.BoardGroupID);
}
}
private void AddBoard(int BoardGroupID)
{
string URL=Globals.Path+"/BBSList.aspx?BoardID={0}";
if(JumpUrl!=null)
URL=JumpUrl;
foreach(Board B in Boards.GetBoards(BoardGroupID))
{ if(Mode.ToUpper()=="JUMP")
Items.Add(new ListItem("├-"+B.BoardName,string.Format(URL,B.BoardID.ToString())));
else
Items.Add(new ListItem("├-"+B.BoardName,B.BoardID.ToString()));
}
}


private string jumpboard="";
private string jumpURL;
public string JumpUrl
{
get{return jumpURL;}
set{jumpURL=value;}
}
public string Mode
{
get{return jumpboard;}
set{jumpboard=value;}
}

}
...全文
316 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
honkerhero 2007-05-11
  • 打赏
  • 举报
回复
真的?
hzgood 2007-05-11
  • 打赏
  • 举报
回复
学了一点, 牛
cpp2017 2007-01-13
  • 打赏
  • 举报
回复
楼上正解.
  • 打赏
  • 举报
回复
[Bindable(true)]
public string JumpUrl
{
get{return jumpURL;}
set{jumpURL=value;}
}