2 Replies - 3813 Views - Last Post: 28 February 2008 - 11:15 PM Rate Topic: -----

#1 PsychoCoder   User is offline

  • Google.Sucks.Init(true);
  • member icon

Reputation: 1660
  • View blog
  • Posts: 19,853
  • Joined: 26-July 07

"Invalid postback or callback argument" error

Posted 28 February 2008 - 10:44 PM

Im getting this weird error all of a sudden and dont know where its coming from. All I did was add a DropDownList populated with accepted email domains instead of the user having to type the whole thing out, they type in their username then pick their domain, seems simple enough. In my button click I have:


protected void cmdSubmit_Click(object sender, EventArgs e)
{
       string email = Email.Text + domain;
       Response.Write(email);
       Response.End();
       reqEmail.Validate();
       reqPassword.Validate();
        Session["Email"] = email
        DataSet contacts = new DataSet();
        importer.EmailAddress = email;
        
        importer.Password = Password.Text;
        importer.TimeoutValue = 120;
        importer.QNumber = 1;
        contacts = importer.ImportContacts();
        if(importer.IsSuccess)
        {
            contactsList.Visible = true;
            repContacts.DataSource = contacts;
            repContacts.DataBind();
            repContacts.Visible = true;
            buttonsPanel.Visible = true;
            ErrorMessage.Text = importer.ReturnMessage;
            ResultLabel.Text = repContacts.Items.Count + " records returned";
            ResultLabel.Visible = true;
            cndGetContacts.Enabled = false;
            SetView(ActiveView.StartOver);
        }
        else
        {
            ErrorMessage.Text = importer.ReturnMessage;
        }
}



Nothing fancy there, the only thing that's changed is the new DropDownList, and concantenating the email TextBox text with the selected item from the DropDownList, which looks like:


protected void supported_domain_SelectedIndexChanged(object sender, EventArgs e)
{
        domain = supported_domain.SelectedItem.Text;
}




For populating the DropDownList I use this code:


try
{
    DataSet domains = util.BuildDataSet(Server.MapPath("supported_domains.txt"), "Domains", "\t");
    supported_domain.DataSource = domains;
    supported_domain.DataTextField = domains.Tables[0].Columns[0].ToString();
    //supported_domain.DataValueField = domains.Tables[0].Columns[0].ToString();
    supported_domain.DataBind();
}
catch
{
    Response.Write(util.Message);
}




The BuildDataSet method looks like:


#region BuildDataSet
/// <summary>
/// method to read a text file into a DataSet
/// </summary>
/// <param name="file">file to read from</param>
/// <param name="tableName">name of the DataTable we want to add</param>
/// <param name="delimeter">delimiter to split on</param>
/// <returns>a populated DataSet</returns>
public DataSet BuildDataSet(string file,string tableName,string delimeter)
{
    //create our DataSet
    DataSet domains = new DataSet();
    //add our table
    domains.Tables.Add(tableName);
    try
    {
        //first make sure the file exists
        if (File.Exists(file))
        {
            //create a StreamReader and open our text file
            StreamReader reader = new StreamReader(file);
            //read the first line in and split it into columns
            string[] columns = reader.ReadLine().Split(delimeter.ToCharArray());
            //now add our columns (we will check to make sure the column doesnt exist before adding it)
            foreach (string col in columns)
            {
                //variable to determine if a column has been added
                bool added = false;
                string next = "";
                //our counter
                int i = 0;
                while (!(added))
                {
                    string columnName = col;
                    //now check to see if the column already exists in our DataTable
                    if (!(domains.Tables[tableName].Columns.Contains(columnName)))
                    {
                        //since its not in our DataSet we will add it
                        domains.Tables[tableName].Columns.Add(columnName, typeof(string));
                        added = true;
                    }
                    else
                    {
                        //we didnt add the column so increment out counter
                        i++;
                    }
                }
            }
            //now we need to read the rest of the text file
            string data = reader.ReadToEnd();
            //now we will split the file on the carriage return/line feed
            //and toss it into a string array
            string[] rows = data.Split("\r".ToCharArray());
            //now we will add the rows to our DataTable
            foreach (string r in rows)
            {
                string[] items = r.Split(delimeter.ToCharArray());
                //split the row at the delimiter
                domains.Tables[tableName].Rows.Add(items);
            }
        }
        else
        {
            throw new FileNotFoundException("The file " + file + " could not be found");
        }
        
    }
    catch (FileNotFoundException ex)
    {
        _message = ex.Message;
        return null;
    }
    catch (Exception ex)
    {
        _message = ex.Message;
        return null;
    }
    
    //now return the DataSet
    return domains;
}
#endregion




And finally is a screenshot of the error Im receiving, anyone got any ideas? I know Ive seen this error before but cant for the life of me remember how I solved it.

Attached Image

This post has been edited by PsychoCoder: 28 February 2008 - 11:13 PM


Is This A Good Question/Topic? 0
  • +

Replies To: "Invalid postback or callback argument" error

#2 PsychoCoder   User is offline

  • Google.Sucks.Init(true);
  • member icon

Reputation: 1660
  • View blog
  • Posts: 19,853
  • Joined: 26-July 07

Re: "Invalid postback or callback argument" error

Posted 28 February 2008 - 11:10 PM

This issue is resolved, I had to add EnableEventValidation="false" to my @Page directive.
Was This Post Helpful? 0
  • +
  • -

#3 PsychoCoder   User is offline

  • Google.Sucks.Init(true);
  • member icon

Reputation: 1660
  • View blog
  • Posts: 19,853
  • Joined: 26-July 07

Re: "Invalid postback or callback argument" error

Posted 28 February 2008 - 11:15 PM

Though this issue is resolved I do have a question bout a piece of code I posted in the OP. My DropDownList's SelectedIndexChanged Event doesn't seem to be doing what I want it to do:


protected void supported_domain_SelectedIndexChanged(object sender, EventArgs e)
{
        domain = supported_domain.SelectedValue.ToString();
}



That code doesn't change the value of domain, no matter what I select domain is always the value of the first item in the list?
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1