用按钮的PostBackUrl属性从源页面提交到目标页后,在目标页面中对源页面控件值的获取,特别是源页面用到了母版页及母版页嵌套时的获取。以下示例仅演示母版页嵌套时的情况:
主母版页:main.master
<asp:ContentPlaceHolder ID="mainContentPlaceHolder" runat="server">
</asp:ContentPlaceHolder>
子母版页:child.master
<asp:Content ID="Content0" ContentPlaceHolderID="mainContentPlaceHolder" runat="server">
……
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"></asp:ContentPlaceHolder>
……
</asp:Content>
源页面:
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
……
<asp:LinkButton ID="lbtSubmit" runat="server" Text="提交" PostBackUrl="目录页路径~/***/***.aspx" OnClientClick="return lbtSubmitClient();" />
……
</asp:Content>
目录页面:lbMsg为页面中的LABEL控件。注意控件ID名称。
ContentPlaceHolder cph = (ContentPlaceHolder)PreviousPage.Form.FindControl("mainContentPlaceHolder").FindControl("ContentPlaceHolder1");
lbMsg.Text = ((LinkButton)cph.FindControl("lbtOLsubmit")).Text;
另 获取源页面POST提交的表单值,hidCbs为表单中HTML控件的name而非id:
lbMsg.Text = Request.Form["hidCbs"].ToString();