日期:2014-05-18  浏览次数:20414 次

向用户控件中传递参数的问题
一个用户控件页:indexNav.ascx
其indexNav.ascx.cs部分代码如下:
C# code

public string adClassID = "";
protected void Page_Load(object sender, EventArgs e)
{
  if (!Page.IsPostBack)
  {
    Response.Write(adClassID + "--");
  }
}


引用该用户控件的页index.aspx,
index.aspx代码如下:
HTML code

<%@ Register TagPrefix="jav" TagName="indexNav" src="userControl/indexNav.ascx" %>
.....
<jav:indexNav id="UC_indexNav8" adClassID="<%#class_forumid1%>" runat="server"></jav:indexNav>



index.aspx.cs部分代码如下:
C# code

public string class_forumid1 = "0";
protected void Page_Load(object sender, EventArgs e)
{
  if (!Page.IsPostBack)
  {
    class_forumid1="10";
  }
}


-----------------------
从index.aspx页面输出来看,结果为空,既不是0,也不是10,
adClassID="<%#class_forumid1%>" ----这个地方倒底该如何写呢?





------解决方案--------------------
HTML code
<%@ Register TagPrefix="jav" TagName="indexNav" src="userControl/indexNav.ascx" %>
.....
<jav:indexNav id="UC_indexNav8" adClassID="<%#class_forumid1%>" runat="server"></jav:indexNav>

------解决方案--------------------
上面第一段C#改为
C# code
if (!Page.IsPostBack)
  {
    class_forumid1="10";
    UC_indexNav8.DataBind();//这样结果就显示adClassID="10"
  }