我在一个aspx中放了3个ascx,每个ascx中都用一个DataList控件。
假如我在1.ascx的DataList中写:
<ItemTemplate>
<asp:HyperLink id="BookLink" NavigateURL='<%# "../../BookShop/catalog.aspx? SectionId=" + DataBinder.Eval(Container.DataItem, "catalogSectionId") %>' Text='<%# DataBinder.Eval(Container.DataItem, "catalogSectionName") %>' runat="server">
</asp:HyperLink>
在2.ascx文件的cs文件中使用Request.QueryString["SectionId"]接收。
可是每次点击后aspx页面刷新后,发现接收的SectionId根本就是空的。
请教2.ascx中如何能收到1.ascx发过来的SectionId值??
有人说用属性,可我这是通过DataList传的值,我不会弄。
有谁会,请教教我,十分感谢了
假如我在1.ascx的DataList中写:
<ItemTemplate>
<asp:HyperLink id="BookLink" NavigateURL='<%# "../../BookShop/catalog.aspx? SectionId=" + DataBinder.Eval(Container.DataItem, "catalogSectionId") %>' Text='<%# DataBinder.Eval(Container.DataItem, "catalogSectionName") %>' runat="server">
</asp:HyperLink>
在2.ascx文件的cs文件中使用Request.QueryString["SectionId"]接收。
可是每次点击后aspx页面刷新后,发现接收的SectionId根本就是空的。
请教2.ascx中如何能收到1.ascx发过来的SectionId值??
有人说用属性,可我这是通过DataList传的值,我不会弄。
有谁会,请教教我,十分感谢了
obj = (XXAscx) this.Page.FindControl("1ascx");
obj.Para1= SectionId;
XXAscx 为你的用户空间的类名
1ascx为你在页面定义的此用户空间的名字,即ID
这段代码在1.ascx的类名还是2.ascx中写?
XXAscx obj;
obj = (XXAscx) this.Page.FindControl("1ascx");//这里是获取XXAscx对象。
obj.Para1= SectionId;//这里是设置XXAscx对象中的一个值。
在1.ascx中设置它的属性。
例如:
public string Para1
{
set{}
get{}
}