การควบคุมผู้ใช้ปุ่มไอคอนได้รับการพัฒนาสำหรับการทำงานทั่วไปดังต่อไปนี้:
-
เพจได้บันทึก [ไอคอน + ปุ่ม] หรือ [ปุ่มรูปภาพ] เพื่อให้ทราบถึงฟังก์ชันการบันทึกโดยรวม หลังจากคลิกการดำเนินการบันทึก การยืนยัน js ของฟิลด์ที่เกี่ยวข้องของเพจสามารถทำได้ก่อน จากนั้นจึงส่งเบื้องหลังได้ภายหลังการยืนยัน ผ่านไปแล้ว สามารถตอบสนองต่อการเปลี่ยนแปลงสไตล์ภายใต้ onmouseover และเหตุการณ์อื่นๆ
การควบคุมผู้ใช้ปุ่มไอคอนที่พัฒนาแล้วจะต้องเป็นไปตามข้อกำหนดด้านการทำงานอย่างน้อยต่อไปนี้:
-
1. ประกอบด้วยไอคอน + ข้อความ
เส้นทางของไอคอนสามารถปรับเปลี่ยนให้ว่างเปล่าได้ซึ่งหมายความว่าไม่มีไอคอน
การแสดงข้อความสามารถแก้ไขได้
2. ทั้งระบบจำเป็นต้องตอบสนองและประมวลผลเหตุการณ์ onclick ของ js ที่ตั้งค่าไว้สำหรับ "ปุ่มไอคอน" บนหน้าที่เป็นที่ตั้งของมัน
หากไม่มีเหตุการณ์ onclick ที่ต้องจัดการ เหตุการณ์นั้นจะไม่ได้รับการประมวลผล
3. ความต้องการโดยรวมในการตอบสนองและจัดการเหตุการณ์ OnClick ของเซิร์ฟเวอร์
หากไม่มีเหตุการณ์ OnClick ที่ต้องจัดการ เหตุการณ์นั้นจะไม่ได้รับการประมวลผล
4. จำเป็นต้องปิดการใช้งานการตอบสนองโดยรวม
การมองเห็นนั้นมีอยู่ในการควบคุมนั่นเอง
5. จำเป็นต้องตอบสนองต่อการเปลี่ยนแปลงสไตล์ภายใต้เหตุการณ์ เช่น onmouseover
ต่อไปนี้เป็นคำอธิบายโดยย่อของวิธีการ
1. สร้างการควบคุมผู้ใช้ [ปุ่มข้อความไอคอน]
การควบคุมประกอบด้วยส่วนต่างๆ ดังต่อไปนี้:
การควบคุมเค้าโครงตาราง
ตัวยึดตำแหน่งสำหรับรูปภาพเอาต์พุตแบบไดนามิก
ตัวยึดตำแหน่งสำหรับข้อความเอาต์พุตแบบไดนามิก
ปุ่มที่ซ่อนอยู่ซึ่งเริ่มทำงานเพื่อตอบสนองต่อเหตุการณ์ OnClick
<ตาราง>
<tr runat="เซิร์ฟเวอร์" 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 = ค่า }
รับ { กลับ _strButtonText }
-
// เส้นทางไอคอนของการควบคุมผู้ใช้ปุ่มข้อความไอคอน
สตริง _strImageSrc = "";
สตริงสาธารณะ strImageSrc
-
ตั้งค่า { _strImageSrc = ค่า }
รับ { กลับ _strImageSrc }
-
//ปิดการใช้งานการควบคุม
บูล _UCDisabled = เท็จ;
บูลสาธารณะUCDisabled
-
ชุด
-
this.tr1.Disabled = ค่า;
_UCDisabled = ค่า;
-
รับ { กลับ _UCDisabled;
-
//ฟังก์ชันการประมวลผลที่ตอบสนองต่อเหตุการณ์ onclick js
สตริง _strOnClickJSfun = "";
สตริงสาธารณะ strOnClickJSfun
-
ตั้งค่า { _strOnClickJSfun = ค่า;
รับ { กลับ _strOnClickJSfun;
-
//ตอบสนองต่อเหตุการณ์ OnClick ทางฝั่งเซิร์ฟเวอร์
ผู้รับมอบสิทธิ์สาธารณะถือเป็นโมฆะ userEvent (ผู้ส่งวัตถุ EventArgs e);
ผู้ใช้กิจกรรมสาธารณะEvent UCOnClick;
โมฆะที่ได้รับการป้องกัน Button1_Click (ผู้ส่งวัตถุ EventArgs e)
-
ถ้า (this.UCOnClick != null)
this.UCOnClick(นี่,e);
-
#ภูมิภาคสุดท้าย
โมฆะที่ได้รับการป้องกัน Page_Load (ผู้ส่งวัตถุ EventArgs e)
-
ถ้า (!IsPostBack)
-
ถ้า (_strButtonText != "")
-
this.Literal2.Text = _strButtonText;
-
ถ้า (_strImageSrc != "")
-
this.Literal1.Text = "<img id='" + this.UniqueID + "Image1' src='" + _strImageSrc + "' />";
-
ถ้า (UCDisabled)
กลับ;
ถ้า (_strOnClickJSfun != "")
-
string 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" />