This article was translated by machine. To view in the article in English, select the English check box. You can also display the English text in a popup window by moving the mouse pointer over the text.
الترجمة
الأصلي
This documentation is archived and is not being maintained.

IPersonalizable.IsDirty الخاصية

Visual Studio 2010

الحصول على القيمة تشير إلى ما إذا كان مخصص تم تغيير بيانات التي تدير عنصر تحكم.

مساحة الاسم:  System.Web.UI.WebControls.WebParts
التجميع:  System.Web (في System.Web.dll)

bool IsDirty { get; }

قيمة الخاصية

النوع: System.Boolean
true إذا كانت بيانات المخصصة مدارة معIPersonalizableتغير واجهة؛ وإلا،false.

عند إدارته بواسطة عنصر تحكم تم تغيير بيانات، التحكم هو بعين الاعتبار "سيئ". يجب إرجاع عنصر تحكم trueإذا مخصص بيانات يدير من خلال IPersonalizableتغير واجهة. إذا كان عنصر تحكم يقوم بإرجاع trueمن القيم بالموضع هو خاصية، عنصر التحكم Saveواجهة تطبيق الأسلوب هو استدعاء أثناء استخراج القيمة خاصية.

ملاحظةملاحظة

Th هو خاصية هو المحددة تلقائياً بالبنية التحتية لإضفاء الطابع الشخصي أثناء المراحل الأخيرة لمعالجة طلب ينشر. ومع ذلك، لطلبات يحصل، إرجاع القيمة من IsDirtyخاصية هو لا التحقق. لدى بعض الأحداث الأخرى حدوث عنصر تحكم أن تعتبر "سيئ" لأي عنصر تحكم الولاية – ليس فقط بيانات التي تم إدارتها بواسطة IPersonalizable-تم الحفظ. إذا كان عنصر تحكم يمكن تمييز نفسه كما "dirty" أثناء طلب يحصل، أو في حالة البنية التحتية لإضفاء الطابع الشخصي في بعض الحالات حد خاص جداً يعتبر عنصر تحكم "سيئ" أثناء طلب يحصل، ثم Saveسيتم تسمية دائماً.

الرجوع عنصر تحكم المقترن به WebPartManagerالتحكم والتحقق Scopeخاصية لتحديد نطاق الحالي. يجب أن تكون الالولاية "سيئ" للبيانات المخصصة عنصر تحكم's المناسب للنطاق الحالي.

The following تعليمات برمجية مثال demonstrates استخدم of the IsDirty خاصية. الجزء أول من مثال تكون صفحة ويب التي تستضيف WebPartعنصر التحكم.


<%@ Page Language="C#"  %>
<%@ Register TagPrefix="dict" 
    namespace="Samples.AspNet.CS.Controls" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>IPersonalizable</title>
</head>
<body>
    <form id="form1" runat="server">
    <asp:WebPartManager ID="mgr" runat="server" />
    <div>
    <asp:WebPartZone ID="WebPartZone1" runat="server">
      <ZoneTemplate>
        <dict:urllistwebpart id="listwp1" runat="server"
          title="URL List WebPart" />
      </ZoneTemplate>
    </asp:WebPartZone>
    </div>
    </form>
</body>
</html>


الجزء الثاني من المثال هو التعليمة البرمجية الخاصة WebPartعنصر تحكم يسمى المخصصة UrlListWebPart. This ملف should be placed في the App_Code الدليل إلى تشغيل the مثال. ملاحظة that the المصدر تعليمات برمجية implements the IsDirty خاصية.


namespace Samples.AspNet.CS.Controls
{

    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Drawing;
    using System.Web;
    using System.Web.UI;
    using System.Security.Permissions;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;

    [AspNetHostingPermission(SecurityAction.Demand,
      Level = AspNetHostingPermissionLevel.Minimal)]
    [AspNetHostingPermission(SecurityAction.InheritanceDemand,
      Level = AspNetHostingPermissionLevel.Minimal)]
    public class UrlListWebPart : WebPart, IPersonalizable
    {
        private ArrayList _sharedUrls;
        private ArrayList _userUrls;
        private bool _listDirty;

        private TextBox _nameTextBox;
        private TextBox _urlTextBox;
        private Button _addButton;
        private BulletedList _list;

        protected override void CreateChildControls()
        {
            Label nameLabel = new Label();
            Label urlLabel = new Label();
            LiteralControl breakLiteral1 = new LiteralControl("<br />");
            LiteralControl breakLiteral2 = new LiteralControl("<br />");
            LiteralControl breakLiteral3 = new LiteralControl("<br />");

            _nameTextBox = new TextBox();
            _urlTextBox = new TextBox();
            _addButton = new Button();
            _list = new BulletedList();

            nameLabel.Text = "Name: ";
            urlLabel.Text = "URL: ";
            _nameTextBox.ID = "nameTextBox";
            _urlTextBox.ID = "urlTextBox";
            _addButton.Text = "Add";
            _addButton.ID = "addButton";
            _addButton.Click += new EventHandler(this.OnClickAddButton);
            _list.DisplayMode = BulletedListDisplayMode.HyperLink;
            _list.ID = "list";

            Controls.Add(nameLabel);
            Controls.Add(_nameTextBox);
            Controls.Add(breakLiteral1);

            Controls.Add(urlLabel);
            Controls.Add(_urlTextBox);
            Controls.Add(breakLiteral2);

            Controls.Add(_addButton);
            Controls.Add(breakLiteral3);

            Controls.Add(_list);
        }

        private void OnClickAddButton(object sender, EventArgs e)
        {
            string name = _nameTextBox.Text.Trim();
            string url = _urlTextBox.Text.Trim();

            Pair p = new Pair(name, url);
            if (WebPartManager.Personalization.Scope == PersonalizationScope.Shared)
            {
                if (_sharedUrls == null)
                {
                    _sharedUrls = new ArrayList();
                }
                _sharedUrls.Add(p);
            }
            else
            {
                if (_userUrls == null)
                {
                    _userUrls = new ArrayList();
                }
                _userUrls.Add(p);
            }

            OnUrlAdded();
        }

        protected virtual void OnUrlAdded()
        {
            _listDirty = true;
            ChildControlsCreated = false;
        }

        protected override void RenderContents(HtmlTextWriter writer)
        {
            if (_sharedUrls != null)
            {
                foreach (Pair p in _sharedUrls)
                {
                    _list.Items.Add(new ListItem((string)p.First, (string)p.Second));
                }
            }
            if (_userUrls != null)
            {
                foreach (Pair p in _userUrls)
                {
                    _list.Items.Add(new ListItem((string)p.First, (string)p.Second));
                }
            }

            base.RenderContents(writer);
        }

        public virtual bool IsDirty
        {
            get
            {
                return _listDirty;
            }
        }
        public new virtual void Load(PersonalizationDictionary state)
        {
            if (state != null)
            {
                PersonalizationEntry sharedUrlsEntry = state["sharedUrls"];
                if (sharedUrlsEntry != null)
                {
                    _sharedUrls = (ArrayList)sharedUrlsEntry.Value;
                }

                PersonalizationEntry userUrlsEntry = state["userUrls"];
                if (userUrlsEntry != null)
                {
                    _userUrls = (ArrayList)userUrlsEntry.Value;
                }
            }
        }

        public virtual void Save(PersonalizationDictionary state)
        {
            if ((_sharedUrls != null) && (_sharedUrls.Count != 0))
            {
                state["sharedUrls"] = new PersonalizationEntry(_sharedUrls, PersonalizationScope.Shared);
            }
            if ((_userUrls != null) && (_userUrls.Count != 0))
            {
                state["userUrls"] = new PersonalizationEntry(_userUrls, PersonalizationScope.User);
            }
        }
    }
}


قم بتحميل الصفحة في المستعرض. اكتب اسم إلى تمثل URL، ثم قم بإضافة يبدأ محدد موقع معلومات فعلية http:// وانقر فوق butإلىn إضافة إلى إضافة محدد موقع المعلومات.

نظام التشغيل Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, الإصدار x64 من نظام التشغيل Windows XP Professional, Windows XP Starter Edition, Windows Server 2008, نظام التشغيل Windows Server 2003, نظام التشغيل Windows Server 2000 المزود بحزمة الخدمة SP4, نظام التشغيل Windows Millennium Edition, نظام التشغيل Windows 98

لا يدعم .NET Framework و .NET Compact Framework كافة الإصدارات الخاصة بكل نظام أساسي. للحصول على قائمة بالإصدارات المدعمة، راجع متطلبات النظام إطار عمل .NET.

.NET Framework

مدعوم في: 4, 3.5, 3.0, 2.0
إظهار: