2011-02-28 33 views
16

'da tire içeren bir html özniteliği ayarlama sorunu Özel bir html özniteliği "veri-bir şey-bir şey" tanımladım. Benim görüşüme göre, örneğin bir metin kutusu oluşturmak için bir Html uzantı yöntemi kullanıyorum. Parametrelerden biri anonim bir object HtmlAttributes. Bu değeri geçmek istiyorum: new { data-something-something = "value" }. Ancak, data-something-something, tire tarafından tire nedeniyle bir özellik adı olarak tanınmıyor. ('Veriye' ile yani basar)ASP.NET MVC

şimdilik dataSomethingSomething olarak değiştirdim ama HTML 5 standardına göre benim özellik tanımlamak istiyorum.

Sınıf mülkünde new { class = "class-name"} yapmaya çalışırken benzer bir sorun yaşadım. Bu durumda, çalışmasını sağlamak için class'u bir '@' sembolü ile ön ekleyebileceğimi buldum (yani new { @class = "class-name"}). Bu senaryo için bir çözüm olduğu için mevcut sorunum için bir çözüm olabileceğini umuyordum (öneki bir '@' ile çalışmadı).

Şimdiden teşekkürler.

cevap

29

otomatik standart HTML yardımcıları tarafından tire dönüşmesi gerekmektedir çizgi kullanmayı deneyin cevabı burada bulabilirsiniz:

new { data_something_something = "value" } 
+0

Neato! Böyle bir şey için umuyordum. –

+0

@Matthijs Wessels, özel bir HTML yardımcı mı kullanıyorsunuz? Eğer evet ise, lütfen yardımcınızın kodunu ve kullanımını gösterin. Bu kesinlikle yerleşik yardımcılarla çalışır. Deneyin: 'Html.TextBoxFor (x => x.Foo, yeni {data_something_something =" value "})'. –

+0

Sadece yerleşik yardımcıları kullanıyorum. Zaten denedim ve işe yaradı :) –