事件背后的Dotnetnuke代码不执行

时间:2012-07-18 05:11:41

标签: c# asp.net .net dotnetnuke

我有现有模块,其中我修改了一个包含一些HTML数据的用户控件。这在我的页面上显示得很好。

现在,我想执行Button Click Event。我的代码如下。

User Control .ascx Page
<%@ Control Language="C#" Inherits="BrownBagMarketing.Modules.Maytronics.ViewMaytronics"
    AutoEventWireup="true" CodeBehind="ViewMaytronics.ascx.cs" %>

..... HTML Code....

<asp:LinkButton ID="lnkViewAll" Text="View All" runat="server" onclick="lnkViewAll_Click">
</asp:LinkButton>



---- User Control Code Behind .ascx.cs Page
namespace BrownBagMarketing.Modules.Maytronics
{
    public partial class ViewMaytronics : PortalModuleBase
    {
        protected void Page_Load(object sender, System.EventArgs e)
        {
            if (!IsPostBack)
            {
                //Response.Write("Test Event......");   
            }
        }
        protected void lnkViewAll_Click(object sender, System.EventArgs e)
        {

        }


    }
}

即使我正在显示Response.write正在执行或不在页面加载事件中,但它没有执行。当我删除链接按钮的onclick事件时,我的其他HTML部分显示正常。

3 个答案:

答案 0 :(得分:1)

现在我要使用以下代码。但没有得到我的确切答案。

任何人都可以解决问题,这样我就不会在页面后面的代码上编写代码。

<script runat="server">
   protected void Page_Load(object sender, System.EventArgs e)
{
    if (!IsPostBack)
    {
        dlFeatures.DataSource = ClsProduct.GetAllFeatures();
        dlFeatures.DataBind();
    }
    //Response.Write("abc123458");
}
</script>

答案 1 :(得分:0)

您要修改哪个模块?它是一个“wap”模块(Web应用程序项目),意味着它被编译成DLL?如果是这样,您需要在进行代码隐藏更改后重新编译。

答案 2 :(得分:0)

确保您的ascx引用您的代码隐藏文件 - 仔细检查名称。

ASCX示例:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="QuizBackend.ascx.cs" Inherits="Bonitas.SalesRepQuiz.QuizBackend" %>

背后的代码

namespace Bonitas.SalesRepQuiz
{
   public partial class QuizBackend : PortalModuleBase
   {
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);
            btnYourButton.Click += btnYourButton_Click;
        }

        protected void btnYourButton_Click(object sender, EventArgs e)
        {
            try
            {
                // Your code
            }
            catch (Exception ex)
            {
                Exceptions.ProcessModuleLoadException(this, ex);
            }
        }
    }
}