Bir nesneyi bir ActionLink üzerinden bir MVC denetleyicisindeki bir yönteme iletmeye çalışıyorum.Html.ActionLink() bir C# nesnesini geçirmeye çalışmaz
jilet sözdizimi:
@Html.ActionLink("Export to Excel","ReturnExcelOfViewableResponses",new { SearchObject = Model.SearchObject})
aslında biçimlendirme olarak görüntülenen Ne:
<a href="/EducationAgency/ReturnExcelOfViewableResponses?SearchObject=DTO.SearchObject" tabindex="29">Export to Excel</a>
denetleyici yöntemi burada post dolayısıyla hiçbir neden sadece iyi deniliyor. Gerçek değerlerin DTO.SearchObject
yerine actionLink'e geçirilmesi için ne yapılması gerekiyor? HTML.ActionLink method'a göre doğru sözdizim var gibi görünüyor (MVC 4 kullanarak).
Teşekkürler! Öyleydi. Yeni MVC 4 formatı bu mu? – levininja
@levininja - nah, sorunuza bağlandığınız cevabın tersine, bu yöntemler için MVC 1, 2, 3 ve 4 arasında büyük bir fark olmadığından eminim. Bu işlevsellik, anonim bir nesneyi (sorunuzdaki örnekte olduğu gibi) geçirmeye kıyasla nadiren kullanılır. Her iki durumda da, geçirilen nesne rota değerlerini tanımlar - ve nesnenin (birinci seviye) özellikleri (nihayet) yansıma ile sorgu parametrelerine dönüştürülür - hangi nesnenin önemi yoktur. Ancak, sorunuzu ilettiğiniz anonim nesnenin yalnızca bir "birinci düzey" özelliği vardır: SearchObject. – JimmiTh