سؤال

والإعداد: نموذج ويب مع الكثير من عناصر تحكم مربع نص

عند I تعيين أي واحد من الخاصية Enabled عنصر تحكم مربع نص على خطأ، أود أن "مبادلة" التي نص بها لتسمية في وقت التشغيل. والفكرة هنا يجري إذا قرأ فقط على أي حال، لا عرضه في عنصر تحكم مصممة للتحرير.

وأنا أفكر وهذا ينبغي أن تكون بسيطة جدا وقابلة لإعادة الاستخدام، ولكن ما هي أفضل طريقة للقيام بذلك؟

هل كانت مفيدة؟

المحلول

ولست متأكدا في أفضل وسيلة، وأود أن جعل عنصر تحكم ملقم العرف هو النص،

ثم تجاوز تقديم طريقة، معرفة ما اذا كان هو للقراءة فقط،

وإذا تم قراءتها فقط ثم تقدم العمر العلامات الخاصة بك مثل التحكم تسمية يفعل.

وإذا لم يكن ثم السماح للقاعدة (النص) تقديم تولي ...

public class SpecialTextbox : TextBox
{
    public override void RenderControl(HtmlTextWriter writer)
    {
        if (!this.ReadOnly)
        {
            base.RenderControl(writer);
        }
        else
        {
            writer.Write(string.Format("<span id=\"{0}\" class=\"{1}\">{2}</span>", 
                            this.ClientID, 
                            this.CssClass, 
                            this.Text));
        }
    }
}

نصائح أخرى

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

وهناك طريقة أخرى تتمثل في النظر في استخدام محول السيطرة. هل سيكون أساسا قادرة على أن تفعل الشيء نفسه بالضبط التي reccomends BigBlondeViking، ولكن هل يمكن coninue لاستخدام آسيا والمحيط الهادئ العادية: تحكم مربع نص في التعليمات البرمجية. وسيكون ذلك أسهل بكثير عليك ومطورين آخرين.

<وأ href = "http://weblogs.asp.net/scottgu/archive/2005/12/21/asp-net-2-0-control-adapter-architecture.aspx" يختلط = "نوفولو noreferrer" > محولات عن السيطرة

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