2012-10-27 1 views
0

J'ai déployé un contrôle utilisateur sur la page sharepoint 2007 Edit.aspx. Cela fonctionne correctement sur mon serveur de test mais en production seule l'interface utilisateur du contrôle utilisateur est chargée. Aucune zone de texte ou zone de liste déroulante sur le chargement de la page ne sont remplis. S'il vous plaît voir la capture d'écran des valeurs par défaut du contrôle de l'utilisateur au lieu des données remplies. Recherchez également le code ci-dessous qui extrait l'ID de la chaîne de requête et charge les données requises lors du chargement de la page. J'ai utilisé la valeur createdby pour vérifier qui attribue l'élément de liste. Si l'utilisateur accède aux données qui ne sont pas créées par lui alors son redirigé vers l'autre page. S'il vous plaît me guider. Que dois-je faire ou vérifier pour le faire fonctionner.La fonctionnalité du contrôle utilisateur qui ne fonctionne pas ne fonctionne pas sur Sharepoint 2007 List Edit.aspx

empty user control

public partial class Class1 : System.Web.UI.UserControl 
{ 

    static string name, lname, Number; 

    protected void Page_Load(object sender, EventArgs e) 
    { 
     try 
     { 
      string c1,c2,c3,c4,c5, Created; 
      if (!Page.IsPostBack) 
      { 

        EditID = Convert.ToInt32(Request.QueryString["ID"]); 
        name = SPContext.Current.Web.CurrentUser.Name; 
        lname = SPContext.Current.Web.CurrentUser.LoginName; 

       SPSecurity.RunWithElevatedPrivileges(delegate() 
      { 
       using (SPSite site = new SPSite("site name")) 
       { 
        using (SPWeb web = site.OpenWeb()) 
        { 
         SPList list = web.Lists["list1"]; 
         SPList UserSkill = web.Lists["list2"]; 
         ItemForEdit = UserSkill.GetItemById(EditID); 
         c1 = ItemForEdit["col1"].ToString(); 
         c2 = ItemForEdit["col2"].ToString(); 
         c3 = ItemForEdit["col3"].ToString(); 
         c4 = ItemForEdit["col4"].ToString(); 
         c5 = ItemForEdit["col5"].ToString(); 
         Created = ItemForEdit["Author"].ToString(); 
         Number = ItemForEdit["col6"].ToString(); 
         string[] extract; 
         extract = Created.Split('#'); 
         if (name == extract[1]) 
         { 

          WholeData = web.Lists["list1"].Items.GetDataTable(); 
          Roles = WholeData.DefaultView.ToTable(true, "Title"); 
          txtnumber.Text = Number; 
          ddlRole.DataSource = Roles; 
          ddlRole.DataTextField = "Title"; 
          ddlRole.DataValueField = "Title"; 
          ddlRole.DataBind(); 
          ddlRole.SelectedValue = c1; 

      //more code 

      } 
         else 
         { 
          Response.Redirect("/IM/pages/Intrusion.aspx", false); 
         } 
        } 
       } 
      }); 

      } 
     } 
     catch (Exception exc) 
     { 
      HttpContext.Current.Response.Write("<script>alert('Exception on page load: " + exc.Message + "')</script>"); 

     } 
    } 
} 

Répondre

0

Il regarde la première coupe à un problème de données.

Pour déboguer sur votre boîte de production, vous pouvez utiliser un remote debugger, ou vous pouvez ajouter un appel qui vérifie si 0 éléments sont retournés et produit une erreur ou enregistre le résultat.

Questions connexes