Asp.net MutiView参数传递问题

时间:2013-07-25 10:06:55

标签: asp.net webserver dotnetnuke

我目前正在进行DotNetNuke模块开发。我在view.ascx上放了一个asp.net mutiview控件。这个视图中有三种观点。每个视图都有一个用占位符包裹的自定义模块控件。在第一个视图中的第一个模块控件上,我从网格视图中选择一行,并激活第二个视图。在第二个视图中,它接收由会话对象传递的值。但问题是,当第一次激活第二个视图时,我看不到分配给我想要赋值的标签的值。我必须通过单击链接按钮再次重定向到第二个视图。

有没有人能够帮助我? 我很感激你的善意。

在Control One上(SelectJob):

protected void GridViewJobList_SelectedIndexChanged(object sender, EventArgs e)
        {
            Job newJob=new Job(Convert.ToInt32(GridViewJobList.SelectedValue));

            OnSelectedJob(newJob);
        }

        public event JobSelectedEventHandler JobSelected;

        protected virtual void OnSelectedJob(Job j)
        {

            Session["JobId"]=j.jobId;

            JobSelected(this,j);
       }

一个View.ascx设计视图:

<asp:LinkButton ID="LinkButtonJobPost" runat="server" CausesValidation="False" OnClick="LinkButtonJobPost_Click">Job Post</asp:LinkButton>
    <asp:LinkButton ID="LinkButtonJobApplication" runat="server" CausesValidation="False" OnClick="LinkButtonJobApplication_Click">Job Application</asp:LinkButton>
<asp:MultiView runat="server" ID="MutiViewJob" ActiveViewIndex="0">
    <asp:View runat="server" ID="ViewJobPost">
        <asp:PlaceHolder ID="PlaceHolderJobPost" runat="server">
            <job:SelectJob ID="SelectJob" runat="server" />
        </asp:PlaceHolder>
    </asp:View>
    <asp:View runat="server" ID="ViewJobApplication">
        <asp:PlaceHolder ID="PlaceHolderJobApplication" runat="server">
            <job:InputJob runat="server" id="InputJob"/>
        </asp:PlaceHolder>
    </asp:View>
</asp:MultiView>

在控制二上(InputJob):

protected void Page_Load(object sender, EventArgs e)
        {

            try
            {

                if (!IsPostBack)
                {

                }
                else
                {
                    LabelJobId.Text = Session["JobId"].ToString();
                }
catch (Exception exc) 
            {
                Exceptions.ProcessModuleLoadException(this, exc);
            }
 }

0 个答案:

没有答案