Avatar billede hyggelig75 Juniormester
06. april 2017 - 16:34 Der er 3 kommentarer

hjælp til login

jeg har en webside i asp men når fok trykker på login får den en fejl side
er som om folk ikke bliver vidersendt til forsiden
her er kode til når folk trykker på register
<script language="javascript" type="text/javascript">
    String.prototype.trim = function() {
        return this.replace(/^\s+|\s+$/g,"");
    }
    function ValidateAdult(source, args) {
        var ctrl = document.getElementById('<%= adult.ClientID %>');
        args.IsValid = ctrl.checked;
    }
    function ValidateTerms(source, args) {
        var ctrl = document.getElementById('<%= terms.ClientID %>');
        args.IsValid = ctrl.checked;
    }
    function ValidateName(source, args) {
        var lbl = document.getElementById('<%= lbl_Name.ClientID %>');
        var ctrl = document.getElementById('<%= name.ClientID %>');
        var reg = /^[a-zA-Z0-9-_\s]+$/;
        if (ctrl.value == null || ctrl.value.length == 0) {
            lbl.innerHTML = "(obligatorisk)";
            args.IsValid = false;
        }
        else if (ctrl.value[0] == ' ') {
            args.IsValid = false;
            lbl.innerHTML = "(Inválido)";
        } else {
            if (!reg.test(ctrl.value)) {
                lbl.innerHTML = "(Inválido)";
            }
            else {
                lbl.innerHTML = "";
            }
        }
    }
    function ValidateNick(source, args) {
        var ctrl = document.getElementById('<%= nick.ClientID %>');
        var lbl = document.getElementById('<%= lbl_Nick.ClientID %>');
        if (ctrl.value == null || ctrl.value.length == 0) {
            args.IsValid = false;
            lbl.innerHTML = "(obligatorisk)";
        }
        else if (ctrl.value[0] == ' ')
        {
            args.IsValid = false;
            lbl.innerHTML = "(Inválido)";
        } else {
            args.IsValid = !LuckPrize.DataServices.NickExists(ctrl.value, ValidateNickResult);
        }
    }
    function ValidateNickResult(result) {
        var lbl = document.getElementById('<%= lbl_Nick.ClientID %>');
        var ctrl = document.getElementById('<%= nick.ClientID %>');
        var reg = /^[a-zA-Z0-9-_\s]+$/;
        if (result) {
            lbl.innerHTML = "(Já Cadastrado)";
        }
        else {
            if (!reg.test(ctrl.value)) {
                lbl.innerHTML = "(Inválido)";
            }
            else {
                lbl.innerHTML = "";
            }
        }
    }
    function ValidateEmail(source, args) {
        var ctrl = document.getElementById('<%= email.ClientID %>');
        if (ctrl.value != null)
            args.IsValid = !LuckPrize.DataServices.EMailExists(ctrl.value, ValidateEmailResult);
    }
    function ValidateEmailResult(result) {
        var lbl = document.getElementById("<%= emailExistsLabel.ClientID %>");
        if (result) {
            lbl.innerHTML = "(Já Cadastrado)";
        }
        else {
            lbl.innerHTML = "";
        }
    }
    function ValidateIndicator(source, args) {
        var ctrl = document.getElementById('<%= indication_user.ClientID %>');
        if (ctrl.value != null)
            args.IsValid = !LuckPrize.DataServices.NickExists(ctrl.value, ValidateIndicatorResult);
    }
    function ValidateIndicatorResult(result) {
        var lbl = document.getElementById("<%= userExistsLabel.ClientID %>");
        if (result) {
            lbl.innerHTML = "";
        }
        else {
            lbl.innerHTML = "(Não Encontrado)";
        }
    }
    function SelectImage(src) {
        var ctrl = document.getElementById('<%= avatar.ClientID %>');
        ctrl.value = src;
    }
</script>

<div style="width:800px">

    <div style="padding:16px; text-align:left; float:left; width:471px; height:690px; background-image:url('img/pattern_01.jpg');">
       

     
        <br><h2>Bruger registrering</h2><br /><br /><br />

        <div style="width:500px; height:690px; background:transparent; overflow:auto;">

            <form id="regform" name="regform" method="post" action="Register.aspx" runat="server" defaultfocus="name">
                <asp:ToolkitScriptManager id="toolkit1" runat="server">
                    <Services>
                        <asp:ServiceReference Path="~/WebServices/DataServices.asmx" />
                    </Services>
                </asp:ToolkitScriptManager>

                <span class="register">Navn:</span>
                <asp:TextBox ID="name" NAME="name" MAXLENGTH="50" SIZE="40" runat="server"/>
                <asp:CustomValidator ID="custom_ValName" ClientValidationFunction="ValidateName" OnServerValidate="Server_ValidateName" ControlToValidate="name" Display="Dynamic" runat="server" ErrorMessage="" />
                <asp:RequiredFieldValidator ID="req_Name" ControlToValidate="name" Text="(obligatorisk)" Display="Dynamic" Runat="Server" />
                <asp:Label runat="server" id="lbl_Name" style="color:#FF0000" />
                <br />

                <span class="register">Skærm navn:</span>
                <asp:TextBox ID="nick" NAME="nick" MAXLENGTH="17" SIZE="19" runat="server"/>
                <asp:CustomValidator ID="custom_ValNick" ClientValidationFunction="ValidateNick" OnServerValidate="Server_ValidateNick" ControlToValidate="nick" Display="Dynamic" runat="server" ErrorMessage="" />
                <asp:RequiredFieldValidator ID="req_Nick" ControlToValidate="nick" Text="(obligatorisk)" Display="Dynamic" Runat="Server" />
                <asp:Label runat="server" id="lbl_Nick" style="color:#FF0000" />
                <br />

                <span class="register">Kode:</span>
                <asp:TextBox ID="pass1" NAME="pass1" MAXLENGTH="16" SIZE="16" TEXTMODE="password" runat="server"/> mindst 6 tegn
                <asp:RegularExpressionValidator ID="val_pass1" runat="server" ErrorMessage="Senha curta" ControlToValidate="pass1" Display="Dynamic" ValidationExpression=".{6,16}" />
                <asp:RequiredFieldValidator ID="req_pass1" ControlToValidate="pass1" Text="(obligatorisk)" Display="Dynamic" Runat="Server" />
                <br />

                <span class="register">Bekræft kode:</span>
                <asp:TextBox ID="pass2" NAME="pass2" MAXLENGTH="16" SIZE="16" TEXTMODE="password" runat="server"/>
                <asp:RequiredFieldValidator ID="req_pass2" ControlToValidate="pass2" Text="(obligatorisk)" Display="Dynamic" Runat="Server" />
                <asp:CompareValidator ID="comp_pass1_pass2" ControlToValidate="pass1" ControlToCompare="pass2" Type="String" Operator="Equal" Text="(Forskellige passwords)" Display="Dynamic" Runat = "Server" />
                <br />

                <span class="register">E-mail:</span>
                <asp:TextBox ID="email" NAME="email" MAXLENGTH="50" SIZE="30" runat="server"/>
                <asp:RegularExpressionValidator ID="val_email" runat="server" Display="Dynamic" ErrorMessage="Email inválido." ControlToValidate="email" ValidationExpression="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$" />
                <asp:CustomValidator ID="custom_ValEmail" ClientValidationFunction="ValidateEmail" OnServerValidate="Server_ValidateEmail" ControlToValidate="email" Display="Dynamic" runat="server" ErrorMessage="(Já Cadastrado)" />
                <asp:RequiredFieldValidator ID="req_email" ControlToValidate="email" Text="(obligatorisk)" Display="Dynamic" Runat="Server" />
                <asp:Label runat="server" id="emailExistsLabel" style="color:#FF0000" />
                <br />

                <span class="register">fødseldag:</span>
                <asp:TextBox ID="birthday" NAME="birthday" MAXLENGTH="10" SIZE="10" runat="server" /> dd/mm/aaaa
                <asp:MaskedEditExtender ID="msk_birthday" Enabled="true" TargetControlID="birthday" Mask="99/99/9999" MaskType="Date" CultureName="pt-BR" runat="server" />
                <asp:MaskedEditValidator ID="mskv_birthday" runat="server" Display="Dynamic" ControlExtender="msk_birthday" ControlToValidate="birthday" EmptyValueMessage="(obligatorisk)" InvalidValueMessage="(Data inválida)" IsValidEmpty="False"></asp:MaskedEditValidator>
                <br />

                <span class="register">Køn:</span>
                <asp:DropDownList ID="gender" NAME="gender" runat="server">
                <asp:ListItem Text="Vælg" Value="0" />
                <asp:ListItem Text="Mand" Value="1" />
                <asp:ListItem Text="Kvinde" Value="2" />
                </asp:DropDownList>
                <asp:RangeValidator ID="valGender" ControlToValidate="gender" MinimumValue="1" MaximumValue="2" ErrorMessage="(obligatorisk)" runat="server" />
                <br />

<!--
                <span class="register">Billede</span> <asp:TextBox ReadOnly="true" enabled=true size=32 id="avatar" runat="server" />
                <div id="images" style="position:relative; border-style:inset; border-width:1px; left:101px; width:340px; height:120px; overflow:auto;" runat="server">
                </div>
                <br />
-->

                <span class="register">Hvordan har du hørt om siden</span>
                <select name="how_found"><% AddHowFound(); %></select>
                <br />

                <span class="register">Bruger henvisning:</span>
                <asp:TextBox ID="indication_user" NAME="indication_user" MAXLENGTH="25" SIZE="25" runat="server"/> (valgfri)
                <asp:CustomValidator ID="custom_ValIndicator" ClientValidationFunction="ValidateIndicator" OnServerValidate="Server_ValidateIndicator" ControlToValidate="indication_user" Display="Dynamic" runat="server" ErrorMessage="(ikke fundet)" />
                <asp:Label runat="server" id="userExistsLabel" style="color:#FF0000" />
                <br />

                <span class="register"></span>
                <asp:CheckBox ID="newsletters" NAME="newsletters" checked="true" runat="server" />Jeg ønsker at modtage information (Bonus, Kampagner Etc ...)
                <br />

                <span class="register"></span>
                <asp:CheckBox ID="adult" NAME="adult" runat="server" />Jeg har over 18 år
                <asp:CustomValidator ID="valAdult" ClientValidationFunction="ValidateAdult" runat="server" ErrorMessage="(obligatorisk)"></asp:CustomValidator>
                <br />

                <span class="register"></span>
                <asp:CheckBox ID="terms" NAME="terms" checked="false" runat="server" />Jeg har læst og accepterer den <a href="Terms.aspx" target="_blank">Vilkår og betingelser</a></a>
                <asp:CustomValidator ID="valTerms" ClientValidationFunction="ValidateTerms" runat="server" ErrorMessage="(obligatorisk)"></asp:CustomValidator>
                <br />

                <span class="register"></span>
                <asp:Button ID="btnSubmit" runat="server" Text="Bekræfte Registrering" OnClick="btnSubmit_Click" />
            </form>


folk får en fejlmelding der indeholder dette:
LuckPrize.Common.Data.UserTO userTO = (LuckPrize.Common.Data.UserTO)Session["user"];
    if (userTO != null)
    {
        userTO = LuckPrize.Common.Data.User.GetUserById(userTO.id);
        Session["user"] = userTO;

        if (userTO.access_level == LuckPrize.Common.Data.Access_Level.Admin)
        {
            users_on.Text  = "<table border='0' width='120'><tr><td align='right'>Online:</td><td>" + Application["UsersOn"] + "</td></tr>";
            users_on.Text += "<tr><td align='right'>logget ind:</td><td>" + LuckPrize.Global.GetRegisteredCount().ToString() + "</td></tr>";
            users_on.Text += "<tr><td align='right'>Bingo:</td><td>" + LuckPrize.Global.GetBingoCount().ToString() + "</td></tr></table>";
            users_on.Text += "</table>";
            users_on.Text += "<br/><p align='right'>[ <a href='luckadmin.aspx'>ADMINPANEL</a> ]</p>";
        }

        if (userTO.access_level != LuckPrize.Common.Data.Access_Level.Admin)
        {
        users_on.Text += "<table border='0' width='138'><tr><td align='right'><b>Spillere på Bingo:</b></td><td><b>" + LuckPrize.Global.GetBingoCount().ToString() + "</b></td></tr></table>";
        }
       

        System.Collections.Generic.List<LuckPrize.Common.Data.MessageTO> messages = LuckPrize.Common.Data.Message.GetMessagesToUserId(userTO.id, true);
        if (messages.Count > 0)
        {
            imghasmail.ImageUrl = "img/hasmail.gif";
        }
        else
        {
            imghasmail.ImageUrl = "img/avatars/30x30/unknown.png";
            mail.InnerHtml = "";
        }
    }
    else
    {
        mail.InnerHtml = "";
    }

kan det være min email der ikke bliver send til brugerne der så laver fejlen ?
Avatar billede hyggelig75 Juniormester
06. april 2017 - 17:28 #1
får den fejl når systemet skal sende en mail.. men forstå den ikke
-----------------------------------------------------------
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:


[InvalidCastException: Unable to cast object of type 'System.DBNull' to type 'System.String'.]
  LuckPrize.Common.Data.User.Db2To(UserTO to, DbDataReader reader) +534
  LuckPrize.Common.Data.User.GetUserListByAccessLevel(Access_Level access_level) +386
  LuckPrize.Newsletters.SendMessage() +89
  LuckPrize.Newsletters.btnSubmit_Click(Object sender, EventArgs e) +85
  System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
  System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110
  System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
  System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
  System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
  System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565
Avatar billede arne_v Ekspert
08. april 2017 - 16:16 #2
I  LuckPrize.Common.Data.User.Db2To(UserTO to, DbDataReader reader) henter du en vaedi fra en datareader over i en string.

Det giver en fejl fordi vaerdien i databasen er NULL.
Avatar billede arne_v Ekspert
08. april 2017 - 16:21 #3
Saa ikke:

s = (string)rdr[ix];

men:

if(!rdr.IsDBNull(ix))
{
  s = (string)rdr[ix];
}
else
{
  s = "N/A";
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester