我所做的是复制我的视图页面并将其名称更改为示例(成功),并在主机>中添加了模块定义。扩展程序>编辑。页面加载但不加载我的内容。当我向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)
{
}
}
}
答案 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才能使其正常工作。