คำถามติดแท็ก asp.net-mvc-partialview

5
ASP.NET MVC 3 - เทมเพลตบางส่วนกับ Display Template เทียบกับ Template Editor
ดังนั้นชื่อควรพูดเพื่อตัวเอง ในการสร้างส่วนประกอบที่ใช้งานซ้ำได้ใน ASP.NET MVC เรามี 3 ตัวเลือก (อาจเป็นอย่างอื่นที่ฉันไม่ได้กล่าวถึง) มุมมองบางส่วน: @Html.Partial(Model.Foo, "SomePartial") เทมเพลตแก้ไขที่กำหนดเอง: @Html.EditorFor(model => model.Foo) เทมเพลตการแสดงผลที่กำหนดเอง: @Html.DisplayFor(model => model.Foo) ในแง่ของการดู / HTML การใช้งานทั้งสามนั้นเหมือนกัน: @model WebApplications.Models.FooObject <!-- Bunch of HTML --> ดังนั้นคำถามของฉันคือ - เมื่อใด / คุณตัดสินใจเลือกหนึ่งในสามที่จะใช้ สิ่งที่ฉันกำลังมองหาจริงๆคือรายการคำถามที่ถามตัวเองก่อนสร้างคำถามซึ่งสามารถใช้คำตอบเพื่อตัดสินใจว่าจะใช้เทมเพลตใด นี่คือ 2 สิ่งที่ฉันค้นพบได้ดีขึ้นด้วย EditorFor / DisplayFor: พวกเขาเคารพลำดับชั้นของแบบจำลองเมื่อเรนเดอร์ HTML helpers (เช่นถ้าคุณมีวัตถุ "Bar" ในโมเดล "Foo" ของคุณองค์ประกอบ …

9
ผ่าน ViewData เพิ่มเติมไปยังมุมมองบางส่วนที่แข็งแกร่ง
ฉันมีมุมมองบางส่วนที่ใช้พิมพ์ ProductImage เป็นอย่างมากและเมื่อมีการแสดงผลฉันต้องการให้ ViewData เพิ่มเติมบางอย่างซึ่งฉันสร้างขึ้นแบบไดนามิกในหน้าที่มีอยู่ ฉันจะส่งผ่านทั้งวัตถุที่พิมพ์อย่างยิ่งและ ViewData ที่กำหนดเองของฉันไปยังมุมมองบางส่วนด้วยการโทร RenderPartial ได้อย่างไร var index = 0; foreach (var image in Model.Images.OrderBy(p => p.Order)) { Html.RenderPartial("ProductImageForm", image); // < Pass 'index' to partial index++; }

6
จะส่งพารามิเตอร์ไปยังมุมมองบางส่วนใน ASP.NET MVC ได้อย่างไร
สมมติว่าฉันมีมุมมองบางส่วนนี้: Your name is <strong>@firstName @lastName</strong> ซึ่งสามารถเข้าถึงได้ผ่านการกระทำของเด็กเท่านั้นเช่น: [ChildActionOnly] public ActionResult FullName(string firstName, string lastName) { } และฉันต้องการใช้มุมมองบางส่วนนี้ในมุมมองอื่นด้วย: @Html.RenderPartial("FullName") กล่าวอีกนัยหนึ่งฉันต้องการที่จะส่งต่อ firstName ans lastName จากมุมมองไปยังมุมมองบางส่วน ฉันควรทำอย่างไร?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.