以编程方式切换到CreateUserWizard控件中的CompleteWizardStep
如何以编程方式切换到asp:CreateUserWizard
控件中的OnCreatingUser
事件中的asp:CompleteWizardStep
步骤?以编程方式切换到CreateUserWizard控件中的CompleteWizardStep
ASP.NET Web表单
<asp:CreateUserWizard ID="MyCreateUserWizard" runat="server" OnCreatingUser="MyCreateUserWizard_CreatingUser">
<WizardSteps>
<asp:CreateUserWizardStep ID="CreateUserStep1" runat="server">
<!-- code here -->
</asp:CreateUserWizardStep>
<asp:CompleteWizardStep ID="CompleteWizardStep" runat="server">
<!-- code here -->
</asp:CompleteWizardStep>
</WizardSteps>
</asp:CreatedWizardStep>
代码背后
protected void MyCreateUserWizard_CreatingUser(object sender, EventArgs e)
{
//retrieve username, password and email
Membership.CreateUser(username, password, email);
//would like to display the CompleteWizardStpe here
}
protected void CreateUserWizard1_CreatingUser(object sender, LoginCancelEventArgs e)
{
CreateUserWizard1.MoveTo(CompleteWizardStep1);
}
@Sky Sanders - 调用MoveTo并不能解决问题。 – 2010-03-01 21:04:50
如果要完全绕过控件的内置功能,请设置“e.Cancel = true;”,然后“MoveTo”。该控件将不再创建用户或给他们发送电子邮件。 – Greg 2010-03-01 22:52:14
@Greg - 没有工作。我使用'e'对象将一个局部变量赋值给'LoginCancelEventArgs'对象,并且它没有显示asp:CompleteWizardStep控件。 – 2010-03-01 23:25:26
我只是重新创建您的解决方案在VS2008/.NET 3.5使用空OnCreatingUser事件处理程序,它“适用于我的电脑”。那么,有什么不同可能导致这个问题呢?
ASPX:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default"
Trace="false" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<form id="form1" runat="server">
<asp:CreateUserWizard ID="CreateUserWizard1" runat="server" OnCreatingUser="CreateUserWizard1_CreatingUser">
<WizardSteps>
<asp:CreateUserWizardStep ID="CreateUserWizardStep1" runat="server">
</asp:CreateUserWizardStep>
<asp:CompleteWizardStep ID="CompleteWizardStep1" runat="server">
</asp:CompleteWizardStep>
</WizardSteps>
</asp:CreateUserWizard>
</form>
</body>
</html>
代码隐藏:
namespace WebApplication1
{
public partial class _Default : System.Web.UI.Page
{
protected void CreateUserWizard1_CreatingUser(object sender, System.Web.UI.WebControls.LoginCancelEventArgs e)
{
}
}
}
的web.config:
<authentication mode="Forms" />
的视频它的工作:http://www.screentoaster.com/watch/stWEJSR0ZIR19YRVleWV9QXlJX
@Greg - 我无法观看视频,因为它在工作时被我的WebSense阻止。我回家时会看。 – 2010-03-02 20:08:45
@Greg - 我正在使用网站项目模型而不是Web应用程序项目模型。这不应该有所作为。 – 2010-03-02 20:11:10
WebSense背后的开发者是犯罪。 :( – Greg 2010-03-02 20:46:22
它能做什么,而不是,为什么你手动创建crea用户而不是让控制器为你做? – Greg 2010-03-01 22:48:10
@Greg - 它进入'asp:CreateUserWizardStep'视图,用户名和电子邮件控件填入用户输入。它根本不显示'asp:CompleteWizardStep'视图。即使我不以编程方式调用'Membership.CreateUser'方法。 – 2010-03-01 23:18:06
@Greg - 我删除了“OnCreatingUser”事件,它工作得很好。 – 2010-03-01 23:52:45