页面右上角的小型图片是母版页(asp:Image)的一部分,将在Page_load事件中显示。
在用于更新个人资料图片的内容页面中,点击保存按钮点击事件后,如何更新母版页面上的图片,此时只更新了内容的大图片(因为我把代码放了在Save_button点击事件结束时更新它。这里的想法是什么,我应该遵循哪些步骤?
答案 0 :(得分:2)
首先在子页面中使用MasterType
属性(MasterPage是类名):
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master"
AutoEventWireup="true" CodeFile="Child1.aspx.cs"
Inherits="Child1" Title="Untitled Page" %>
<%@ MasterType TypeName="MasterPage" %>
然后,在MasterPage中,公开您希望子页面可以访问的任何属性或字段。
属性/字段应显示在子页面的intellisense中。
以下是MasterPage的完整代码以及如何公开元素:
MasterPage.Master:
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<asp:ContentPlaceHolder id="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
<asp:image id="_MyImage" runat="server"></asp:image>
<div>
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>
</form>
</body>
</html>
MasterPage.Master.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class MasterPage : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
}
public Image MyImage
{
get { return _MyImage; }
}
}
答案 1 :(得分:0)
尝试从用户控件中引发事件并让母版页处理事件。
以下是一个例子:
http://snippets.surfthru.com/post/ASPNET-Raise-Event-on-Parent-Page-from-User-Control