ASP.NET MVC 3 kullanıyorum ve Görünüm Modelinin çoğunluğunun salt okunur olduğu birkaç sayfaya sahibim. Bir örnek alan böyle gibi olacaktır:ASP.NET MVC 3 - Kullanım için en iyi yöntem Model görünümünde
<div class="display-label">My Field</div>
<div class="display-field">@Model.MyField</div>
Sonra kullanıcı yüzden gibi bazı doğrulama metnini tuşlamalıdır bir alan var: o vurur kullanıcı formu gönderdiğinde
@Html.LabelFor(model => model.Verification)
@Html.PasswordFor(model => model.Verification)
ve benim denetleyici, Doğrulama alanı dışındaki ViewModel'in alanları boştur.
@Html.HiddenFor(model => model.MyField)
Ancak bu gerçekten hızlı çirkin alır: Bu etrafında aldık yolu, şimdiye kadar böyle gibi çeşitli HiddenFor alanlara sahip olmaktır. Modelin görünüm durumunda ele alınmasının daha iyi bir yolu var, bu yüzden form gönderiminde POST sırasında tüm alanlarımı alabilir miyim? Doğrulama metninin POST sırasında eşleşmemesi ve görüntü modelini veritabanından yeniden almadan yeniden döndürmem gerekiyorsa bu önemlidir.
Önerileriniz için teşekkür ederiz.
Güvenlik endişelerini '@ Html.AntiForgeryToken() 'yardımcı programını kullanarak bulabilecek misiniz? – Brandon
Bundan şüpheliyim. AntiForgeryToken işlevselliği hakkında fazla bir şey bilmiyorum, ancak büyük olasılıkla kullanıcı, çalışmasının yapabilmesi için ne tür bir belirtecin olduğunu görmek için sayfanın kaynağına bakabilir. Sahtecilik belirteci, siteler arası komut dosyası saldırıları için daha fazla değer koruması için değil, ve bir alanın sağlanmasının sağlanıp sağlanmadığını bilmek için bir yol var.Güvenli olması gereken herhangi bir şey sunucu tarafında ele alınmalıdır ve güvenlik için – KallDrexx
istemci tarafı özelliklerine güvenemezsiniz. Sadece nesne örneğimi denetleyiciye yeniden yükledim. – Brandon