Html5 data- * พร้อมกับ asp.net mvc TextboxFor คุณลักษณะ html


244

ฉันจะเพิ่มdata-*คุณสมบัติ html โดยใช้ TextboxFor ได้อย่างไร

นี่คือสิ่งที่ฉันมีในปัจจุบัน:

@Html.TextBoxFor(model => model.Country.CountryName, new { data-url= Url.Action("CountryContains", "Geo") })

ในขณะที่คุณเห็นเป็นสาเหตุของปัญหาที่นี่- data-urlทางรอบนี้คืออะไร?


เป็นไปได้ที่ซ้ำกันของแอตทริบิวต์ hphenated html ด้วย asp.net mvc
ED-209

คำตอบ:


417

คุณสามารถใช้ขีดล่าง ( _) และผู้ช่วยนั้นฉลาดพอที่จะทำส่วนที่เหลือ:

@Html.TextBoxFor(
    model => model.Country.CountryName, 
    new { data_url = Url.Action("CountryContains", "Geo") }
)

และสำหรับผู้ที่ต้องการบรรลุผลสำเร็จเหมือนกันใน ASP.NET MVC 3 รุ่นก่อน ๆ พวกเขาสามารถ:

<%= Html.TextBoxFor(
    model => model.Country.CountryName, 
    new Dictionary<string, object> { 
        { "data-url", Url.Action("CountryContains", "Geo") } 
    }
) %>

8
มีการระบุพฤติกรรมนี้ทุกที่หรือไม่ :)
Rookian

5
@Ryan EditorForไม่มีมันไม่ได้เพราะไม่ได้กวนทำให้รู้สึกถึงการทำงาน ตัวช่วย EditorFor ใช้เพื่อแสดงเท็มเพลต HTML ที่กำหนดเองที่สอดคล้องกับประเภทที่กำหนด เทมเพลตอาจมีองค์ประกอบมากมายดังนั้นการพูดคุยเกี่ยวกับคุณลักษณะในเทมเพลตนั้นไม่สมเหตุสมผล แน่นอนว่าคุณสามารถเขียนเทมเพลตแบบกำหนดเองที่ทำงานกับadditionalViewDataพารามิเตอร์ที่สามารถส่งผ่านไปยังเทมเพลตตัวแก้ไขและส่งออกเป็นแอตทริบิวต์ในฟิลด์อินพุตที่สอดคล้องกัน
ดารินทินดิมิทรอฟ

2
เพียงเพื่อให้ชัดเจนมาร์กอัปที่เกิดขึ้นมีขีดล่างและไม่ใส่ยัติภังค์ ประโยค "คุณสามารถใช้ขีดล่าง (_) และผู้ช่วยฉลาดพอที่จะทำส่วนที่เหลือ" โดยเฉพาะบิตเกี่ยวกับความฉลาดที่ควรทำให้ฉันเชื่อว่ามันจะแปลงเป็นอัตโนมัติ - แต่มันไม่ได้ รองรับ HTML5 -
Alan Macdonald

2
@AlanMacdonald _ถูกแปลงเป็น-MVC เวอร์ชันเก่า (กลาง?) อาจเป็นได้ว่ารุ่นล่าสุด (s) ได้ลดลง แต่ฉันใช้มันประสบความสำเร็จใน MVC 3 และ 4
brichins

4
@AlanMacdonald (และการอ่านอื่น ๆ ), _จะถูกแปลงเป็น-MVC 5 เช่นกัน ฉันใช้มันสำเร็จในโครงการที่ฉันกำลังทำงานอยู่ซึ่งใช้ MVC 5
Amy Barrett
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.