数组中的问题 [英] problem with array elements that are in cyrilic

查看:94
本文介绍了数组中的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了事件接收器,当文档库中的值更改时,它会更改另一个列表中的值.我的列表中有Субјектревизије"字段.我创建了包含值列表字段的数组"SRPUNOIME".我的问题是当我在进行调试并逐步执行时 我到达的每行一行线

   if(Item [Субјектревизије"].ToString().Contains(spunoime))

但是调试跳过这一行.为什么我有问题.我的代码是

使用系统;
使用System.Security.Permissions;
使用Microsoft.SharePoint;
使用Microsoft.SharePoint.Security;
使用Microsoft.SharePoint.Utilities;
使用Microsoft.SharePoint.Workflow;

命名空间Azuriranje_liste.EventReceiver1
{
    ///< summary>
    ///列出项目事件
    ///</summary>
    ///
    class DisabledEventsScope:SPItemEventReceiver,IDisposable
    {
        //保留EventFiringEnabled属性的原始值的布尔值
        bool _originalValue;

        公共DisabledEventsScope()
        {
            //保存EventFiringEnabled的原始值
            _originalValue = base.EventFiringEnabled;

            //将EventFiringEnabled设置为false以禁用它
            base.EventFiringEnabled = false;
        }

        公共无效Dispose()
        {
            //将EventFiringEnabled设置回其原始值
            base.EventFiringEnabled = _originalValue;
        }
    }
    公共类EventReceiver1:SPItemEventReceiver
    {
       ///< summary>
       ///一项已更新.
       ///</summary>
       公共重写void ItemUpdated(SPItemEventProperties属性)
       {
           base.ItemUpdated(properties);
            如果(properties.List.Title ==Дељенидокументи")
           {
               使用(DisabledEventsScope范围=新的DisabledEventsScope())
               {
                   //SPListItem listItem = properties.ListItem;
                   //listItem ["Title"] ="New Title" + DateTime.Now.ToString();
                   //listItem.Update();
                   字符串[] SR = {"RFPIO","DZSM","GAK","DZV","DZGM","DZJ","DZL","DZML","DZNB" ,"DZR","DZDJK","DZMI","ZJZPA","ZJZPP","ZTKN","ZTKV","ZCV","IZZMDS", ,"IOHB","KBCDM","NSZ","OBS","OBRS","RFZO","UDK","FSOVO", };

                   串[] SRPUNOIME = {"Републичкифондзапензионоиинвалидскоосигурање - Београд","Републичкифондзаздравственоосигурање - Београд","Домздравља - НовиБеоград","Домздравља - Раковица","Дом здравља\"ДрМилутинИвковић\"-Палилула'"; };
                          //Домздравља-Јагодина",Домздравља\"ДрСимоМилошевић\"; - Чукарица","Домздравља - Лесковац","Домздравља - Вождовац","Домздравља - ГорњиМилановац","Домздравља - Младеновац","Здравственицентар - Врање" ;,
                        //Општаболница-Сента",Општаболница\"ДрРадивојСимоновић\"; -Сомбор",КБЦ\"ДрДрагишаМишовић\" -Дедиње",Институтзакардиоваскуларнеболести"和Дедиње\" -Београд",ИнститутзаздравственузаштитумајкеидететаСрбије\"ДрВуканЧупић\" -Београд,
                        //ЗаводзатрансфузијукрвиВојводине-НовиСад",Институтзаортопедско-хирушкеболести\" -"-Лазаревац,"ЗаводзајавноздрављеПожаревац-Пожаревац,
                        //"//ovde uneti u nizu sve subjekte i godisnje se menjaju prema reviziji
                    string [] Putanja = {"/02/01 AD/100","/02/02СИК/500","/02/02СИК/600","/02/01 AD/700"; };
                    串[] Aktivnosti = {"Eтичкикодекс","Закључакоспровођењуревизије","Писмооангажовању","Овлашћењезавршењеревизије","Захтевзадостављањеподатака","Записниксапрвогсастанкаса субјектом",Упознавањесапословањемиинтернимконтролама",ПроценитељсложеностиИТсист
                              //"КонтролналистазаинтернуконтролуИТсистема","Прелиминарнианалитичкипреглед(запотребепланирања)","Образацзаодређивањематеријалности","Коришћењерададругогревизора","Контролналистазапревару" ;,
                              //"Оценаризика","Образложењеоцене","Општастратегијаревизијеревизијскиприступспецифичнимфакторимаризикаиревизијскиприступдругимобластима","Планревизије(областиревизије,тетирањезначајнихризика,контролналистазапланирање)" ,
                             //"Методологијазаузорковањеивеличинаузорка","Програмаревизорскихтестова","Документовањеревизорскихтестова","Документовањерезултатат​​естирања","Тестирање,прикупљањедоказаиизвођењезакључака","Нацртизвештаја" ;, ;Предлогизвештаја",Коначниизвештај",Послеревизиониизвештај";

                   foreach(SR中的字符串子项)
                   {
                       如果(properties.ListItem.Url.ToString().Contains(sub))
                       {
                           foreach(放在Putanja中的字符串)
                           {
                               if(properties.ListItem.Url.ToString().Contains(put)&& properties.ListItem [Документодобрен"].ToString().Equals("True")&& properties.ListItem. File.ParentFolder.ItemCount.ToString().Equals("5"))
                               {
                                   字符串url ="http://test-net.dri.local";
                                   SPSite网站=新的SPSite(url);
                                   SPWeb网站= site.OpenWeb();
                                   SPList列表= web.Lists ["projekt2"];
                                   SPView view = list.Views ["rfpio"];
                                   SPQuery查询=新的SPQuery(view);
                                   query.Query =";
                                   SPListItemCollection items = list.GetItems(query);
                                   //SPListItemCollection items = list.Items;
                                   foreach(项目中的SPListItem项)
                                   {
                                       foreach(SRPUNOIME中的字符串spunoime)
                                       {
                                         if(Item [Субјектревизије"].ToString().Contains(spunoime))
                                         {
                                           foreach(Aktivnosti中的字符串aktivnost)
                                           {
                                               if(Item ["Title"].ToString().Equals(aktivnost))
                                               {
                                                   项目[%довршено"] = 1;
                                                   //SPFieldUrlValue urlItem = new SPFieldUrlValue(); //ovo treba promeniti sa多行文字poljem
                                                   //urlItem.Url ="http://test-net.dri.local/"; + properties.ListItem.Url; //ovo treba promeniti sa多行文字poljem
                                                   //urlItem.Description = celaputanja;
                                                   //Item [Адресадокумента"] = urlItem; //ovo treba promeniti sa多行文字poljem
                                                   Item.Update();
                                               }
                                           }
                                         }

                                       }

                                   }
                               }
                           }
                       }
                   }
               }
           }
       }
       }


}

解决方案

看起来像w3wp进程使用旧的dll版本.请尝试以下操作:重新编译代码,将GAC部署到dll,执行iisreset,预热站点(浏览器中的刷新窗口),然后再次附加到w3wp.现在,它应该使用最近编译的dll和调试符号.


i created event receiver which when values in document library is changed changes values in another list. my list have field 'Субјект ревизије'. i created array 'SRPUNOIME' that contains values list field. My problem is when i m working debugging and i step line per line i arrive to  line

   if(Item["Субјект ревизије"].ToString().Contains(spunoime))

but debugging skip this line. why i have problem. my code is

using System;
using System.Security.Permissions;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Security;
using Microsoft.SharePoint.Utilities;
using Microsoft.SharePoint.Workflow;

namespace Azuriranje_liste.EventReceiver1
{
    /// <summary>
    /// List Item Events
    /// </summary>
    /// 
    class DisabledEventsScope : SPItemEventReceiver, IDisposable
    {
        // Boolean to hold the original value of the EventFiringEnabled property 
        bool _originalValue;

        public DisabledEventsScope()
        {
            // Save off the original value of EventFiringEnabled 
            _originalValue = base.EventFiringEnabled;

            // Set EventFiringEnabled to false to disable it 
            base.EventFiringEnabled = false;
        }

        public void Dispose()
        {
            // Set EventFiringEnabled back to its original value 
            base.EventFiringEnabled = _originalValue;
        }
    }
    public class EventReceiver1 : SPItemEventReceiver
    {
       /// <summary>
       /// An item was updated.
       /// </summary>
       public override void ItemUpdated(SPItemEventProperties properties)
       {
           base.ItemUpdated(properties);
            if (properties.List.Title == "Дељени документи")
           {
               using (DisabledEventsScope scope = new DisabledEventsScope())
               {
                   //      SPListItem listItem = properties.ListItem;
                   //     listItem["Title"] = "New Title" + DateTime.Now.ToString();
                   //     listItem.Update();
                   string[] SR = { "RFPIO", "DZSM", "GAK", "DZV", "DZGM", "DZJ", "DZL", "DZML", "DZNB", "DZR", "DZDJK", "DZMI", "ZJZPA", "ZJZPP", "ZTKN", "ZTKV", "ZCV", "IZZMDS", "IKBD", "IOHB", "KBCDM", "NSZ", "OBS", "OBRS", "RFZO", "UDK", "FSOVO" };

                   string[] SRPUNOIME = { "Републички фонд за пензионо и инвалидско осигурање - Београд", "Републички фонд за здравствено осигурање - Београд", "Дом здравља - Нови Београд", "Дом здравља - Раковица", "Дом здравља \"Др Милутин Ивковић\" - Палилула" };
                          //     "Дом здравља - Јагодина","Дом здравља \"Др Симо Милошевић\" - Чукарица", "Дом здравља - Лесковац","Дом здравља - Вождовац","Дом здравља - Горњи Милановац","Дом здравља - Младеновац","Здравствени центар - Врање",
                        //      "Општа болница - Сента","Општа болница \"Др Радивој Симоновић\" - Сомбор","КБЦ \"Др Драгиша Мишовић\" - Дедиње","Институт за кардиоваскуларне болести \"Дедиње\" - Београд","Институт за здравствену заштиту мајке и детета Србије \"Др Вукан Чупић\" - Београд",
                        //     "Завод за трансфузију крви Војводине - Нови Сад","Институт за ортопедско-хирушке болести \"Бањица\" - Београд","Завод за трансфузију крви - Ниш","Универзитетска дечја клиника - Београд","Дом здравља \"Др Ђорђе Ковачевић\" - Лазаревац","Завод за јавно здравље Пожаревац - Пожаревац",  
                        //    "Завод за јавно здравље - Панчево","Гинеколошко-акушерска клиника ''Народни Фронт'' - Београд"}; //ovde uneti u nizu sve subjekte i godisnje se menjaju prema reviziji
                    string[] Putanja = { "/02/01 AD/100", "/02/02 СИК/500", "/02/02 СИК/600", "/02/01 AD/700" };
                    string[] Aktivnosti = { "Eтички кодекс","Закључак о спровођењу ревизије","Писмо о ангажовању","Овлашћење за вршење ревизије","Захтев за достављање података","Записник са првог састанка са субјектом","Упознавање са пословањем и интерним контролама","Проценитељ сложености ИТ система"};
                              //    "Контролна листа за интерну контролу ИТ система","Прелиминарни аналитички преглед (за потребе планирања)","Образац за одређивање материјалности","Коришћење рада другог ревизора","Контролна листа за превару",
                              //     "Оцена ризика","Образложење оцене","Општа стратегија ревизије ревизијски приступ специфичним факторима ризика и ревизијски приступ другим областима","План ревизије (области ревизије, тетирање значајних ризика, контролна листа за планирање)",
                             //    "Методологија за узорковање и величина узорка","Програма ревизорских тестова","Документовање ревизорских тестова","Документовање резултата тестирања","Тестирање, прикупљање доказа и извођење закључака","Нацрт извештаја","Предлог извештаја","Коначни извештај","Послеревизиони извештај"};                                            

                   foreach (string sub in SR)
                   {
                       if (properties.ListItem.Url.ToString().Contains(sub))
                       {
                           foreach (string put in Putanja)
                           {
                               if (properties.ListItem.Url.ToString().Contains(put) && properties.ListItem["Документ одобрен"].ToString().Equals("True") && properties.ListItem.File.ParentFolder.ItemCount.ToString().Equals("5"))
                               {
                                   string url = "http://test-net.dri.local";
                                   SPSite site = new SPSite(url);
                                   SPWeb web = site.OpenWeb();
                                   SPList list = web.Lists["projekt2"];
                                   SPView view = list.Views["rfpio"];
                                   SPQuery query = new SPQuery(view);
                                   query.Query = "";
                                   SPListItemCollection items = list.GetItems(query);
                                   //  SPListItemCollection items = list.Items;
                                   foreach (SPListItem Item in items)
                                   {
                                       foreach (string spunoime in SRPUNOIME)
                                       {
                                         if(Item["Субјект ревизије"].ToString().Contains(spunoime))
                                         {
                                           foreach (string aktivnost in Aktivnosti)
                                           {
                                               if (Item["Title"].ToString().Equals(aktivnost))
                                               {
                                                   Item["% довршено"] = 1;
                                                   //         SPFieldUrlValue urlItem = new SPFieldUrlValue(); //ovo treba promeniti sa multiline text poljem
                                                   //       urlItem.Url = "http://test-net.dri.local/" + properties.ListItem.Url; //ovo treba promeniti sa multiline text poljem
                                                   //        urlItem.Description = celaputanja;
                                                   //     Item["Адреса документа"] = urlItem; //ovo treba promeniti sa multiline text poljem
                                                   Item.Update();
                                               }
                                           }
                                         }

                                       }

                                   }
                               }
                           }
                       }
                   }
               }
           }
       }
       }


}

解决方案

looks like w3wp process uses old dll version. Try the following: recompile the code, deploy GAC to dll, perform iisreset, warmup the site (refresh window in browser) and attach to w3wp again. Now it should use recently compiled dll and debug symbols.


这篇关于数组中的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆