2013-05-23 18 views
13

gibi Mvc yardımcılarında nasıl kullanılır? Bu @Html.EditorFor(model => model.Name, " ", new { data_bind = "value:firstName" }); ve diğer olası aşırı yüklemeleri denedim ancak bunların hiçbiri çalışmıyor gibi görünüyor. kodKnockout'un data-bind özniteliği, Html.EditorFor()

dinlenme:

<script type="text/javascript"> 
$(document).ready(function() { 

    function AppViewModel() { 
     this.firstName = ko.observable(""); 
     this.lastName = ko.observable(""); 
    } 
    ko.applyBindings(new AppViewModel()); 
}); 

+0

Sadece html jenerik kullanmanız önerilir ve @ html.Editor yardımcısını kullanmayın. Modelden veriye ihtiyacınız varsa, bunu AppViewModel – atbebtg

+0

oluşturmak için kullanın. Düzenleyicinizin oluşturduğu html çıktısı nedir? Bir metin kutusu mu yoksa etiket mi? Belirttiğiniz veri bağlama özniteliği eksik mi? – hawkke

+0

Evet, eksik. –

cevap

30

EditorFor Senin 3 parametre bunu yapıyor olması gerektiğini düşünüyorum yapmaz.

HTML öğesine niteliklerini ekleyemezsiniz

EditorForhttp://msdn.microsoft.com/en-us/library/ff406461(v=vs.98).aspx bakınız. Bunun yerine TextBoxFor kullanın:

@Html.TextBoxFor(model => model.Name, new { data_bind = "value:firstName" }); 
+1

.Net Framework 4.6.1 ve üstü için, '@ Html.EditorFor (m => m.FirstName, new {htmlAttributes = new {@class = "form-control", data_bind = "value: firstName", maxlength = 50}}); 'çalışır. ** data_bind ** hala anahtar! –

2

ben bu sefer biraz geciktim anlıyorum, ama burada ben kullanıyorum bir çözümdür.

@Html.EditorFor(t => t.name, "", new { fieldName = "name" }) 

Sonra senin editorTemplate bu olabilir de:

additionalViewData şöyle bir parçası olarak editörü şablonu (bu durumda name olarak) alanın adını iletin

@{ 
    var fieldName = ViewData.Where(v => v.Key == "fieldName").FirstOrDefault().Value; 
} 
@Html.TextBox("", Model, new { data_bind = "value:"+fieldName }) 

Umarım bu birisine yardımcı olur.

+1

İşaretlemeyi [kodu doğru şekilde biçimlendir] (http://meta.stackexchange.com/questions/22186/how-do-i-format-my-code-blocks) kullandığınızdan emin olun. Okunabilirlik ile büyük ölçüde yardımcı olur. – royhowie