تم تطوير عنصر تحكم مستخدم زر الرمز للعمليات الشائعة التالية:
--------------------------
قامت الصفحة بحفظ [رمز + زر] أو [ImageButton] لتحقيق وظيفة الحفظ الشاملة بعد النقر على عملية الحفظ، يمكن إجراء التحقق من الحقول ذات الصلة بالصفحة أولاً باستخدام js، ثم يمكن إجراء إرسال الخلفية بعد التحقق. يمكن أن يستجيب لتغييرات النمط ضمن onmouseover والأحداث الأخرى.
يجب أن يستوفي عنصر التحكم في مستخدم زر الرمز الذي تم تطويره المتطلبات الوظيفية التالية على الأقل:
------------------------------------------
1. مكون من أيقونات + نص
يمكن تعديل مسار الأيقونة ليكون فارغا، مما يعني عدم وجود أيقونه.
يمكن تعديل عرض النص
2. يحتاج النظام بأكمله إلى الاستجابة ومعالجة حدث onclick الخاص بمجموعة js لـ "زر الرمز" في الصفحة التي يوجد بها.
إذا لم يكن هناك حدث عند النقر يحتاج إلى التعامل معه، فلن تتم معالجته.
3. الحاجة العامة للاستجابة لحدث OnClick الخاص بالخادم والتعامل معه
إذا لم يكن هناك أي حدث OnClick يحتاج إلى المعالجة، فلن تتم معالجته.
4. يجب تعطيل الاستجابة الشاملة
مرئي متأصل في عنصر التحكم نفسه
5. تحتاج إلى الاستجابة لتغييرات النمط ضمن أحداث مثل onmouseover
وفيما يلي شرح مختصر للطريقة
1. قم بإنشاء عنصر تحكم المستخدم [زر نص الرمز].
يحتوي التحكم على الأجزاء التالية:
التحكم في تخطيط الجدول،
عنصر نائب لصورة الإخراج ديناميكيًا،
عنصر نائب لإخراج النص ديناميكيًا،
زر مخفي يتم تشغيله استجابةً لحدث OnClick
<الجدول>
<tr runat="server" id="tr1" style="cursor:hand;" >
<TD>
<asp:Literal ID="Literal1" runat="server"></asp:Literal>
</TD>
<TD>
<asp:Literal ID="Literal2" runat="server"></asp:Literal>
</TD>
</tr>
</الجدول>
<asp:Button ID = "Button1" runat = "server" Text = "Button" style = "display:none؛ width:0; height:0;" OnClick="Button1_Click" />
يمكنك إضافة معالجة نمط onmouseover ذات الصلة إلى الجدول
يحتوي على السمات والمعالجة ذات الصلة التالية
فئة عامة جزئية WebUserControl: System.Web.UI.UserControl
{
#خصائص وفعاليات المنطقة
// نص الزر للتحكم في زر نص الرمز
string _strButtonText = "العنصر النائب للزر";
سلسلة عامة strButtonText
{
مجموعة { _strButtonText = القيمة }
احصل على {return _strButtonText}؛
}
// مسار الرمز للتحكم في زر نص الرمز
string _strImageSrc = "";
سلسلة عامة strImageSrc
{
تعيين { _strImageSrc = القيمة }
الحصول على { العودة _strImageSrc }
}
// معطل من التحكم
bool _UCDisabled = false;
boolUCDisabled
{
تعيين
{
this.tr1.Disabled = value;
_UCDisabled = value;
}
الحصول على {إرجاع _UCDisabled}؛
}
// وظيفة معالجة تستجيب لحدث onclick js
string _strOnClickJSFun = "";
سلسلة عامة strOnClickJSFun
{
set { _strOnClickJSFun = value }
احصل على {return _strOnClickJSFun}؛
}
// الاستجابة لحدث OnClick من جانب الخادم
المفوض العام void userEvent(object sender, EventArgs e);
الحدث العام userEvent UCOnClick;
باطلة محمية Button1_Click(مرسل الكائن، EventArgs e)
{
إذا (this.UCOnClick != null)
this.UCOnClick(this, e);
}
#endregion
Page_Load باطلة محمية (مرسل الكائن، EventArgs e)
{
إذا (!IsPostBack)
{
إذا (_strButtonText != "")
{
this.Literal2.Text = _strButtonText;
}
إذا (_strImageSrc != "")
{
this.Literal1.Text = "<img id='" + this.UniqueID + "Image1' src='" + _strImageSrc + "' />";
}
إذا (UCDisabled)
يعود؛
إذا (_strOnClickJSFun != "")
{
سلسلة strjsfun = _strOnClickJSFun.Replace(";", "").Replace("return ", "");
إذا (this.UCOnClick != null)
{
this.tr1.Attributes.Add("onclick", "if(" + strjsfun + "){document.all." + this.UniqueID + "_Button1.click();}");
}
آخر
{
this.tr1.Attributes.Add("onclick", strjsfun);
}
}
آخر
{
إذا (this.UCOnClick != null)
{
this.tr1.Attributes.Add("onclick", "document.all." + this.UniqueID + "_Button1.click();");
}
}
}
}
}
2. استخدم زر تحكم المستخدم [زر نص الرمز].
<uc1:WebUserControl ID = "WebUserControl1" runat = "الخادم" OnUCOnClick = "Button1_Click" strOnClickJSFun = "return fn_Check ()؛"
strButtonText="تعديل" strImageSrc="../Images/Edit.gif" />