我在我的ASP.NET网页上有一个RadMultipage控件。
我将用户控件作为页面加载到该控件内部。
以下是加载用户控件的代码。
我将用户控件作为页面加载到该控件内部。
以下是加载用户控件的代码。
protected void RadMultiPage1_PageViewCreated(object sender, Telerik.Web.UI.RadMultiPageEventArgs e)
{
try
{
string controlName;
int index = e.PageView.ID.Trim().IndexOf(" ");
if (index > 0)
{ controlName = e.PageView.ID.Trim().Remove(index); }
else
{ controlName = e.PageView.ID; }
Control pageViewContents = LoadControl(controlName + ".ascx");
pageViewContents.ID = e.PageView.ID + "userControl";
e.PageView.Controls.Add(pageViewContents);
}
catch (Exception ex)
{
Utility.WalkException(this, ex, "There was an error while performing this operation.");
}
}
我还启用了视图状态和自动事件处理。
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" EnableViewState="true" ViewStateMode="Enabled" Inherits="VentureAssessmentApp.Default" %>
现在我遇到的问题是用户控件上的按钮。该按钮的点击事件无法触发。它只会重新加载页面。即使IsPostBack返回false。
有人能提供一些解决方案吗?有时候点击事件有效,大多数情况下则无效。
Button
是动态添加的还是在**.ascx*标记中声明的。 - Lukasz MRadMultiPage1_PageViewCreated
方法是否在每次回发时都会触发。如果不是,则应将创建控件的代码放置在Page_Init
或Page_Load
页面事件处理程序中。在RadMultiPage1_PageViewCreated
方法中,只需设置一个标志以指示是否应创建控件。 - Lukasz MPage_Init
或Page_Load
页面事件处理程序中,如Leo所建议的那样。 - Lukasz M