ฉันจะใส่คำใบ้ใน asp: textbox ได้อย่างไร


102

ฉันจะใส่คำใบ้ / ตัวยึดตำแหน่งใน asp: TextBox ได้อย่างไร เมื่อฉันพูดคำใบ้ฉันหมายถึงข้อความบางส่วนที่จะหายไปเมื่อผู้ใช้คลิกที่ข้อความนั้น มีวิธีในการบรรลุเดียวกันโดยใช้ html / css หรือไม่?


2
คุณรองรับเบราว์เซอร์ใดบ้าง เบราว์เซอร์ HTML5 รองรับplaceholderแอตทริบิวต์สำหรับกล่องข้อความ
rikitikitik

คำตอบ:


200

placeholderแอตทริบิวต์

คุณกำลังมองหาplaceholderแอตทริบิวต์ ใช้มันเหมือนกับแอตทริบิวต์อื่น ๆ ภายในการควบคุม ASP.net ของคุณ:

<asp:textbox id="txtWithHint" placeholder="hint" runat="server"/>

อย่ากังวลเกี่ยวกับ IDE ของคุณ (เช่น Visual Studio) อาจไม่ทราบแอตทริบิวต์ แอตทริบิวต์ที่ไม่ได้ลงทะเบียนกับ ASP.net จะถูกส่งผ่านและแสดงผลตามที่เป็นอยู่ ดังนั้นรหัสด้านบน (โดยทั่วไป) จึงแสดงผลเป็น:

<input type="text" placeholder="hint"/>

ใช้placeholderในทรัพยากร

วิธีที่ดีของการใช้คำใบ้ในการควบคุมคือการใช้ทรัพยากร วิธีนี้คุณอาจมีคำใบ้ในภาษาท้องถิ่น สมมติว่าคุณมีไฟล์index.aspxไฟล์App_LocalResources / index.aspx.resxของคุณประกอบด้วย

<data name="WithHint.placeholder">
    <value>hint</value>
</data>

และการควบคุมของคุณดูเหมือน

<asp:textbox id="txtWithHint" meta:resourcekey="WithHint" runat="server"/>

ผลลัพธ์ที่แสดงจะมีลักษณะเหมือนกับในบทด้านบน

เพิ่มแอตทริบิวต์ในโค้ดด้านหลัง

เช่นเดียวกับแอตทริบิวต์อื่น ๆ ที่คุณสามารถเพิ่มplaceholderในAttributeCollection:

txtWithHint.Attributes.Add("placeholder", "hint");

2
ด้วยเหตุผลบางประการเคล็ดลับทรัพยากร"WithHint.placeholder"ไม่ได้ผลสำหรับฉัน
Mmm

1
เมื่อใช้ทรัพยากรคุณสามารถทำได้สำหรับไฟล์ทรัพยากรในเครื่อง: <asp:TextBox ID="txtWithHint" runat="server" placeholder="<%$ Resources: 52 %>" />หรือสำหรับทรัพยากรส่วนกลาง:<asp:TextBox ID="txtWithHint" runat="server" placeholder="<%$ Resources: ResourceFile, ResourceValue %>" />
EvilDr

เมื่อเพิ่มการควบคุมในโค้ดสิ่งที่คุณต้องการคือ myTextBox.Attributes.Add ("placeholder", "hint");
Eliot Gillum


19
 <asp:TextBox runat="server" ID="txtPassword" placeholder="Password">

วิธีนี้จะได้ผลบางครั้งคุณอาจรู้สึกว่ามันไม่ทำงานเนื่องจาก Intellisence ไม่แสดงตัวยึด


7

การเพิ่มแอตทริบิวต์ตัวยึดตำแหน่งจากโค้ดหลัง:

txtFilterTerm.Attributes.Add("placeholder", "Filter" + Filter.Name);

หรือ

txtFilterTerm.Attributes["placeholder"] = "Filter" + Filter.Name;

การเพิ่มคุณสมบัติตัวยึดจากเพจ aspx

<asp:TextBox type="text" runat="server" id="txtFilterTerm" placeholder="Filter" />

หรือ

<input type="text" id="txtFilterTerm" placeholder="Filter"/>

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.