aspx 페이지에 유저 콘트롤을 삽입 하였다
방식은
<%@ Register TagPrefix="UC" TagName="TreeViewControl" src="~/_controltemplates/TreeViewControl2.ascx" %>
<UC:TreeViewControl id="treeview_id" runat="server" />
이렇게 등록하고 사용하는 것인데 유저 콘트롤로 동적인 값을 보내려니 막막했다
해결책은 히든 필드
<asp:HiddenField ID="hidden_f" runat="server" OnLoad="hdInit" />
<asp:HiddenField ID="hidden_listname" runat="server" />
<asp:HiddenField ID="hidden_rootfolder" runat="server" />
<asp:HiddenField ID="hidden_source" runat="server" />
<script runat="server">
public void hdInit(object o , System.EventArgs e)
{
// this.hidden_f.Value = "100";
this.hidden_listname.Value = Request["List"];
this.hidden_rootfolder.Value = Request["RootFolder"];
this.hidden_source.Value = Request["Source"];
}
</script>
이런식으로 aspx 페이지에서 작성을 해준후에
ascx에서는
string listname = ((HiddenField)(Control)(this.Parent.FindControl("hidden_listname"))).Value;
string rootfolder = ((HiddenField)(Control)(this.Parent.FindControl("hidden_rootfolder"))).Value;
string source = ((HiddenField)(Control)(this.Parent.FindControl("hidden_source"))).Value;
이렇게 받아서 사용한다.
댓글 영역