سؤال

أنا جديد في تطوير جزء ويب مع فيسوال ستوديو.أريد جزء ويب الطقس.أنا خلقت مشروع سب 2013 فارغة ، وأضاف عنصر جزء ويب.ولكن عندما أقوم بنشره وإضافة جزء الويب المخصص إلى موقعي.يعطي خطأ:

عذرا ، حدث خطأ ما حدث خطأ غير متوقع.

صفحة صيانة أجزاء الويب:إذا كان لديك إذن ، يمكنك استخدام هذا صفحة لإغلاق أجزاء الويب مؤقتا أو إزالة الإعدادات الشخصية.ل مزيد من المعلومات ، اتصل بمسؤول الموقع الخاص بك.

لقد حذفت جزء الويب وأضفته مرة أخرى.لم يتغير شيء.ماذا يجب أن أفعل?يعطيكم الصّحة.

اسم عنصر جزء الويب الخاص بي :هافادوروموب اسم مشروعي:هافادورومو

عناصر.شمل:

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/" >
  <Module Name="HavaDurumuWP" List="113" Url="_catalogs/wp">
    <File Path="HavaDurumuWP\HavaDurumuWP.webpart" Url="HavaDurumuWP_HavaDurumuWP.webpart" Type="GhostableInLibrary">
      <Property Name="Group" Value="Custom" />
    </File>
  </Module>
</Elements>

هنا هو بلدي هافادورومووب.جيم:

namespace HavaDurumuWP.HavaDurumuWP
{
    [ToolboxItemAttribute(false)]
    public class HavaDurumuWP : WebPart
    {

        public void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
        {
            if (!e.Cancelled && e.Error == null)
            {
                string res = Convert.ToString(e.Result);
                HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
                doc.LoadHtml(res);
                var table = doc.DocumentNode.SelectSingleNode("//table[@class='tbl_sond']");
                var degree = table.SelectSingleNode("//td[@class='renkMax']");
                var date = table.SelectSingleNode("//td[@class='sond_zaman']");

            }
            LiteralControl filterMessage = new LiteralControl("ece");

            this.Controls.Add(filterMessage);

        }
        protected override void CreateChildControls()
        {
            string url = "http://www.mgm.gov.tr/tahmin/il-ve-ilceler.aspx?m=ISTANBUL";

            WebClient webclient = new WebClient();
            webclient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(client_DownloadStringCompleted);

            Uri uri = new Uri(url);
            webclient.DownloadStringAsync(uri);
        }
    }
}
هل كانت مفيدة؟

المحلول

يبدو أنه في مكان ما داخل جزء الويب الخاص بك يتم طرح استثناء.أود أن أقترح عليك أن التفاف كل ما تبذلونه من التعليمات البرمجية داخل كريتشيلدكونترولس والعميل_داونلوادسترينغكومبليتد أساليب مع try..catch شيء من هذا القبيل:

try{
    ...
} catch (Exception ex){
    this.Controls.Add(new LiteralControl(ex.Message+"; "+ex.StackTrace));
}

ومن الممارسات الجيدة للتعامل مع جميع الاستثناءات الممكنة داخل ويببارت إلى ديسالو لهم لتطفو على الصفحة (في الحالة المعاكسة هذا الاستثناء يمكن كسر الصفحة بأكملها).

كما يمكنك محاولة تصحيح جزء الويب الخاص بك (إف 5 في فيسوال ستوديو) لتحديد المكان الذي يتم طرح استثناء.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى sharepoint.stackexchange
scroll top