【发布时间】:2017-12-13 00:49:39
【问题描述】:
我有一个带有一堆 asp 控件的默认页面(初始登录页面),一切都很好。我还有一个带有一个 asp 按钮控件的管理页面(我为帖子简化了)。两者都包含在 Site.Master 页面上的表单元素中。按钮单击事件不会在我的管理页面上触发。这是我的按钮事件和页面代码/背后的代码:
页面代码
<%@ Page Title="Admin1" Language="C#" MasterPageFile="~/Site.Master"
AutoEventWireup="true" CodeBehind="Admin1.aspx.cs"
Inherits="HPRMWebClientReporting.Admin1" %>
<asp:Content runat="server" ID="AdminContent"
ContentPlaceHolderID="AdminContent">
<asp:Button ID="ButtonGo" runat="server" Text="Button" Width="111px"
OnClick="ButtonGo_Click" />
</asp:Content>
代码背后
public partial class Admin1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
}
}
protected void ButtonGo_Click(object sender, EventArgs e)
{
this.Context.Items["Msg"] = "It worked!!!.";
Server.Transfer("MessagePage.aspx");
}
}
会发生什么:
- 浏览默认页面的Page_Load
- 遍历 Site.Master 页面的 Page_Load
- 刷新我的网站并显示默认页面
单击按钮时,它不会发生我的单击事件或管理页面的 Page_Load 吗?单击按钮应该会将其带到 MessagePage 页面。
这快把我逼疯了。我确实尝试在按钮上将原因验证设置为 false,但没有成功。有什么想法吗?
注意:另外,也许这会帮助某人确定我做错了什么。我更改了页面代码,因此它不使用 MasterPageFile Site.Master,我只是将按钮包装在它自己的表单元素中,它工作正常,但我不希望它以这种方式工作,因为我想使用母版页。
【问题讨论】:
-
看来您应该使用 MasterPage 来完成您的工作。