2

我们正在使用 Ext.Net,我们遇到了一个表面上看起来很微不足道但实际上需要一些内部知识的问题。

我们正在实施一个注册表单,其中一个字段是将用于唯一标识用户的电子邮件地址。

因此,当用户注册时,系统会查询数据库以检查电子邮件地址是否已存在于系统中。如果电子邮件存在,那么我们检查电子邮件是否已被激活。如果它没有被激活,那么我们想向前端发送一条消息,我们输入的电子邮件是一个未激活的电子邮件地址。

在这种情况下,我们要弹出一个确认窗口,询问用户是否要激活帐户。我们正在努力的是何时弹出确认窗口,具体取决于电子邮件地址是否被激活。

任何人都可以就如何做到这一点提供任何建议吗?

4

2 回答 2

3

@DavidS - 我认为以下示例演示了您描述的整个场景。

例子

<%@ Page Language="C#" %>

<%@ Register assembly="Ext.Net" namespace="Ext.Net" tagprefix="ext" %>

<script runat="server">
    protected void Button1_Click(object sender, DirectEventArgs e)
    {
        var email = this.TextField1.Text;

        // do something to verify email...

        // assume invalid email address
        var validEmailAddress = false;

        if (!validEmailAddress)
        {
            X.Msg.Confirm("Message", "Please confirm?", new JFunction("CompanyX.Activate(result, \"" + email + "\");", "result")).Show();
        }
    }

    [DirectMethod(Namespace = "CompanyX")]
    public void Activate(string result, string email)
    {
        if (result == "yes")
        {
            var message = "Email address (" + email + ") has been ACTIVATED";

            X.Msg.Notify("Message", message).Show();
        }
    }
</script>

<!DOCTYPE html>

<html>
<head runat="server">
    <title>Ext.NET Example</title>  
</head>
<body>
    <form runat="server">
        <ext:ResourceManager runat="server" />

        <ext:TextField 
            ID="TextField1" 
            runat="server" 
            FieldLabel="Email" 
            Text="demo@example.com" 
            />

        <br />

        <ext:Button 
            runat="server" 
            Text="Validate" 
            OnDirectClick="Button1_Click" 
            />

        <br />

        <ext:Label ID="Label1" runat="server" />

    </form>
</body>
</html>

干杯!

于 2011-03-05T00:24:01.833 回答
0

有时最好使用客户端确认

http://docs.sencha.com/ext-js/3-4/#!/api/Ext.MessageBox-confirm

于 2011-12-26T15:26:43.340 回答