DNN - 如何在我的模块中添加新视图?

时间:2014-01-24 12:24:40

标签: view module dotnetnuke

我所做的是复制我的视图页面并将其名称更改为示例(成功),并在主机>中添加了模块定义。扩展程序>编辑。页面加载但不加载我的内容。当我向page_load添加一个断点时,它不会被调用。

有什么想法吗?

我正在使用最新版本的dotnetnuke。

Succes.ascx:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Succes.ascx.cs" Inherits="FortyFingers.EventsEnrollment.Succes" %>


 This is my succes page!

Succes.ascx.cs:

namespace --
{
    public partial class Succes : PortalModuleBase
    {
        protected void Page_Load(object sender, EventArgs e)
        {

            try
            {

            }
            catch (Exception exc) //Module failed to load
            {
                Exceptions.ProcessModuleLoadException(this, exc);
            }
        }



        /// <summary>
        /// Add user to event - click event
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void submit_Click(object sender, EventArgs e)
        {


        }
    }
}

3 个答案:

答案 0 :(得分:0)

添加模块定义后,您需要将“查看”控件添加到您的定义中。此外,修改清单文件以添加新的“视图”控件。从页面中删除模块,在“发布”模式下重新编译并重新添加。

答案 1 :(得分:0)

您的成功页面是否有广泛的逻辑?

如果没有,请考虑在表单成功提交后,只更改表的可见性和后面代码的警报。

例如:

<asp:panel runat="server" id="SuccessAlert" visible="false">
    <div class="alert alert-success">
        You're message has been sent.  
    </div>
</asp:panel>

<asp:panel runat="server" id="ExampleForm">
    <div class="form-group">
        <label for="FirstName" class="sr-only">First Name</label>
        <input type="text" id="FirstName" name="FirstName" maxlength="255" class="form-control" placeholder="First Name" />
    </div>
    <div class="form-group">    
        <label for="LastName" class="sr-only">Last Name</label>
        <input type="text" id="LastName" name="LastName" maxlength="255" class="form-control" placeholder="Last Name" />
    </div>
    <div class="form-group">
        <label for="EmailAddress" class="sr-only">Email Address</label>
        <input type="email" id="EmailAddress" name="EmailAddress" maxlength="255" class="form-control" placeholder="Email Address" />
    </div>
    <button type="submit" class="btn btn-default" id="SubmitButton">Send</button>
</asp:panel>

然后从您的代码背后 - 成功后 - 操作只需调用:

ExampleForm.Visible = false;
SuccessAlert.Visible = true;

答案 2 :(得分:0)

我使用了错误的网址,我也必须使用模块ID才能使其正常工作。