2009-07-03 11 views
0

J'utilise l'authentification de base de formulaire dans mon site Sharepoint. Sur ma page de connexion, il y a des champs personnalisés à remplir par un utilisateur non authentifié. Ces champs que je veux ajouter à ma liste. J'utilise le code suivant pour insérer un enregistrement dans la liste.Ajouter des éléments à la liste par programme

protected void AddVendor(object sender, EventArgs e) 
{ 
    string strList = "http://comp01:5353/Lists/Vendors/"; 

    using (SPSite site = new SPSite(strList)) 
    { 
     site.AllowUnsafeUpdates = true; 
     using (SPWeb web = site.OpenWeb()) 
     { 
      web.AllowUnsafeUpdates = true; 
      SPUser user = web.AllUsers["demouser"];  
      SPList list = web.Lists["Vendors"]; 
      SPListItem Item = list.Items.Add(); 
      Item["First Name"] = txtVendorName.Text; 
      Item["Last Name"] = txtVLastName.Text; 
      Item["business"] = txtDescription.Text; 
      Item["Description"] = txtDescription.Text; 
      Item["Mobile No"] = txtMobileNumber.Text; 
      Item["Approved"] = "No"; 
      Item["Created By"] = "demoadmin"; 
      Item["Modified By"] = "demoadmin"; 
      Item.Update(); 

     } 
    } 

} 

mais cela me donne une erreur indiquant que le thread a été abandonné. Je ne sais pas ce qui manque exactement. mais est-ce parce que j'effectue l'action d'ajouter et l'utilisateur n'est pas authentifié ...?

Répondre

0

Je ne sais pas s'il vous aidera, mais le code qui dit (F.E.) article [ « Modifié par »] ne fonctionnera pas puisque c'est le nom interne qui est Modified_x0020_By. Cela vaut pour tous les champs avec des "espaces" en eux. Ceci peut être l'un de vos problèmes ...

0

Où avez-vous écrit ce code, est-ce qu'il s'agit d'un événement spécial? Contrôle de connexion Fournit deux événements qui vous aideront à résoudre ce

OnLoginError="OnLoginError" OnLoggedIn="OnLoggedIn" 

Je l'ai fait des fonctionnalités similaires où je voulais saisir le nom d'utilisateur loggin sur le site et connectez-vous à la table DB. Et en ce qui concerne l'exception ThreadAbort, cela se produit lorsque vous utilisez Response.Redirect pendant l'exécution d'un code. Dans votre cas, je doute qu'il soit lancé parce que vous essayez de faire le code ci-dessus, mais le système FBA tente de rediriger l'utilisateur vers default.aspx. Essayez ci-dessus ledit événement du contrôle de connexion, il devrait vous aider.

Questions connexes