คำถามติดแท็ก razor

Razor คือภาษาเทมเพลตที่ใช้โดยเว็บเพจ ASP.NET และ ASP.NET MVC (ตั้งแต่เวอร์ชัน 3) มันเพิ่มเลเยอร์ของสิ่งที่เป็นนามธรรมเหนือการสร้าง HTML รองรับการเปลี่ยนระหว่าง HTML มาร์กอัปและรหัส C # หรือ VB อย่างราบรื่น การเปลี่ยนระหว่างมาร์กอัปและรหัสระบุด้วยเครื่องหมาย "@"


10
ASP.Net MVC: วิธีแสดงอิมเมจอาร์เรย์ไบต์จากโมเดล
ฉันมีโมเดลที่มีไฟล์อิมเมจไบต์อาร์เรย์ที่ฉันต้องการแสดงบนเพจ ฉันจะทำได้อย่างไรโดยไม่ต้องกลับไปที่ฐานข้อมูล วิธีแก้ปัญหาทั้งหมดที่ฉันเห็นใช้ActionResultเพื่อกลับไปที่ฐานข้อมูลเพื่อดึงภาพ แต่ฉันมีภาพในโมเดลแล้ว ...
116 c#  asp.net-mvc  razor 

4
ส่งผ่านพารามิเตอร์ไปยังคอนโทรลเลอร์จาก @ Html.ActionLink MVC 4
ในบรรทัดนี้: @Html.ActionLink("Reply", "BlogReplyCommentAdd", "Blog", new { blogPostId = blogPostId, replyblogPostmodel = Model, captchaValid = Model.AddNewComment.DisplayCaptcha }) ฉันได้รับข้อผิดพลาดรันไทม์ต่อไปนี้ใน blogPostId: พจนานุกรมพารามิเตอร์มีรายการ null สำหรับพารามิเตอร์ 'blogPostId' ของชนิดที่ไม่เป็นโมฆะ 'System.Int32' สำหรับวิธีการ 'System.Web.Mvc.ActionResult BlogReplyCommentAdd (Int32, Nop.Web.Models.Blogs.BlogPostModel, Boolean) ใน 'นพ. เว็บคอนโทรลเลอร์ BlogController'. พารามิเตอร์ที่เป็นทางเลือกต้องเป็นประเภทการอ้างอิงประเภทที่เป็นโมฆะหรือถูกประกาศเป็นพารามิเตอร์ทางเลือก ชื่อพารามิเตอร์: พารามิเตอร์ ฉันได้กำหนดค่าสำหรับสิ่งนี้แล้วด้านบนเช่น @{ var blogPostId = Model.Id; } ตัวควบคุมของฉัน: public ActionResult BlogReplyCommentAdd(int blogPostId, BlogPostModel …

4
อะไรทำไมหรือเมื่อใดจึงควรเลือก cshtml vs aspx
ฉันต้องการทราบว่าอะไรทำไมหรือเมื่อใดจึงดีกว่าที่จะเลือก cshtml และอะไรทำไมหรือเมื่อใดจึงดีกว่าที่จะเลือกเทคโนโลยี aspx เทคโนโลยีทั้งสองนี้มีไว้เพื่ออะไร? ขอบคุณ,

8
MVC Razor แบบไดนามิก 'object' ไม่มีคำจำกัดความสำหรับ 'PropertyName'
ใช้ MVC 3 กับ Razor view engine ฉันมีมุมมองนี้: @model dynamic @{ var products = (List<ListItemBaseModel>)Model.Products; var threshold = (int)(Model.Threshold ?? 1); var id = Guid.NewGuid().ToString(); } เรียกจากมุมมองอื่นโดยใช้รหัสนี้: @Html.Partial("PartialViewName", new { Products = Model, Threshold = 5 }) ในมุมมองทั้งสองเมื่อฉันดีบักและดูโมเดลดูเหมือนว่าจะมีวัตถุที่ถูกต้อง เมื่อฉันรันโค้ดฉันได้รับข้อผิดพลาดในบรรทัด "var products =" ว่า: 'object' ไม่มีคำจำกัดความสำหรับ 'Products' ใครช่วยอธิบายให้ฉันฟังได้ไหมว่าทำไมฉันถึงได้รับข้อผิดพลาดนั้น อีกครั้งเมื่อฉันดู Model object …

6
ฉันจะส่งออก html ดิบได้อย่างไรเมื่อใช้ RazorEngine (ไม่ใช่จาก MVC)
ฉันพยายามสร้างอีเมลที่มีเนื้อหา HTML เนื้อหานี้ผ่านการสุขาภิบาลแล้วดังนั้นฉันจึงไม่กังวลในเรื่องนี้อย่างไรก็ตามเมื่อฉันโทรไป: Razor.Parse(template, model); ในเทมเพลต Razor ต่อไปนี้: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <body> @(new System.Web.HtmlString(Model.EmailContent)) </body> </html> อีเมลที่ส่งออกนั้นเข้ารหัส HTMl แต่ฉันต้องการให้มันถอดรหัส ฉันจะทำสิ่งนี้ให้สำเร็จได้อย่างไร?
105 c#  razor  html-encode 

10
ปัญหาในการรับ AssemblyVersion ในหน้าเว็บโดยใช้ Razor / MVC3
ฉันใช้รหัสต่อไปนี้ในส่วนท้ายในไฟล์ _Layout.cshtml ของฉันเพื่อใส่ข้อมูลเวอร์ชัน AssemblyInfo ลงในส่วนท้ายของทุกหน้าในไซต์ MVC3 ของฉัน อย่างไรก็ตาม: @System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString() เพียงพิมพ์ในส่วนท้าย: Revision 0.0.0.0 เมื่อฉันแก้ไขมุมมองเพื่อแสดงข้อมูลแอสเซมบลีทั้งหมดสำหรับ "Executing Assembly" โดยใช้สิ่งต่อไปนี้ @System.Reflection.Assembly.GetExecutingAssembly().GetName().ToString() ซึ่งพิมพ์สิ่งต่อไปนี้: Revision App_Web__layout.cshtml.639c3968.hlogy75x, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null สิ่งนี้แสดงให้เห็นว่า "Executing Assembly" ไม่ใช่แอปหลักของฉัน แต่เป็นมุมมองนั้นเอง ฉันจะรับข้อมูลการประกอบสำหรับแอป ACTUAL ไม่ใช่แค่มุมมองส่วนบุคคลได้อย่างไร

8
การใช้ส่วนต่างๆในเทมเพลต Editor / Display
ฉันต้องการเก็บโค้ด JavaScript ทั้งหมดไว้ในส่วนเดียว ก่อนปิดทำการbodyแท็กในหน้าเค้าโครงหลักของฉันและแค่สงสัยว่าดีที่สุดที่จะพูดถึงสไตล์ MVC ตัวอย่างเช่นถ้าฉันสร้างไฟล์ DisplayTemplate\DateTime.cshtmlไฟล์ที่ใช้ DateTime Picker ของ jQuery UI มากกว่าที่ฉันจะฝัง JavaScript ลงในเทมเพลตนั้นโดยตรง แต่ไฟล์นั้นจะแสดงผลกลางหน้า ในมุมมองปกติของฉันฉันสามารถใช้@section JavaScript { //js here }แล้ว@RenderSection("JavaScript", false)ในเค้าโครงหลักของฉัน แต่ดูเหมือนว่าจะใช้ไม่ได้ในเทมเพลตดิสเพลย์ / ตัวแก้ไข - มีความคิดใดบ้าง


1
Html.RenderPartial ให้ข้อผิดพลาดโอเวอร์โหลดแปลก ๆ หรือไม่?
ฉันสร้างหน้าทดสอบบางส่วนชื่อ_Test.cshtmlและวางไว้ในไดเร็กทอรีเดียวกับมุมมองของฉันที่จะเรียกมันนี่คือ: <div>hi</div> และในมุมมอง cshtml การเรียกฉันเพียงแค่ใส่: @Html.RenderPartial("_Test") ซึ่งทำให้ฉันมีข้อผิดพลาด: CS1502: วิธีการโอเวอร์โหลดที่ดีที่สุดตรงกับ 'System.Web.WebPages.WebPageExecutingBase.Write (System.Web.WebPages.HelperResult)' มีอาร์กิวเมนต์ที่ไม่ถูกต้อง ฉันได้ลองเส้นทางแบบเต็มด้วยผลลัพธ์เดียวกัน ฉันงงมากว่าทำไมถึงทำแบบนี้ฉันคิดว่าฉันพลาดอะไรง่ายๆไป?

3
ASP.NET Core 2.0 Razor เทียบกับ Angular / React / etc
ฉันและทีมงานของฉันได้รับเงินทุนเพื่อเริ่มพัฒนาแอปพลิเคชันเว็บระดับองค์กร (จะไม่ลงรายละเอียดว่ามันทำอะไร) แอปพลิเคชันจะมีหน้าเว็บแยกกันหลายหน้า แต่สองหน้านั้นเน้นมากกว่าและหนักมาก - หนักมากในการโต้ตอบกับผู้ใช้จำนวนมากรูปแบบที่แสดงข้อมูลจำนวนมากการเชื่อมต่อ websocket การแชท ฯลฯ ฉันได้รับมอบหมายให้เป็นหัวหน้าสถาปนิกในโครงการดังนั้นฉันกำลังทำการวิจัยเกี่ยวกับกรอบงานเว็บล่าสุด สำหรับแบ็คเอนด์เราได้ทำการทดสอบและตัดสินใจที่จะใช้แพลตฟอร์ม Azure SQL จนถึงตอนนี้ฉันชอบการปรับปรุงที่เกิดขึ้นและกำลังทำกับ ASP.NET ด้วย Core 2.0 โดยเฉพาะ Razor engine มากกว่า ASP.NET MVC เวอร์ชันก่อนหน้า ฉันต้องการรับความคิดเห็นจากผู้เชี่ยวชาญเกี่ยวกับมีดโกน "ใหม่" เทียบกับ Angular / React และอื่น ๆ ฉันกังวลกับประสิทธิภาพมากขึ้นเป็นพิเศษ Core 2.0 Razor รองรับเฟรมเวิร์กการเรนเดอร์ฝั่งไคลเอ็นต์ได้อย่างไร ความแตกต่างเล็กน้อยหรือไม่? แอปของเราตั้งเป้าไปที่ผู้ใช้ 1,000,000 คน (พร้อมกันประมาณ 100,000 คน) ขอบคุณล่วงหน้า!

5
เป็นไปได้หรือไม่ที่จะใช้ Razor View Engine นอก asp.net
ถ้าฉันดู Razor View Engine ฉันจะเห็นไวยากรณ์ที่ดีและกระชับมากซึ่งไม่ได้เชื่อมโยงกับการสร้าง html เป็นพิเศษ ดังนั้นฉันจึงสงสัยว่าการใช้เอ็นจิ้นนอก asp.net ในสภาพแวดล้อม. net "ปกติ" จะง่ายเพียงใดเช่นสร้างข้อความโค้ด ... ยินดีต้อนรับตัวชี้ตัวอย่างความคิดเห็นหรือคำอธิบายใด ๆ

12
เติมส่วนมีดโกนจากบางส่วน
แรงจูงใจหลักของฉันในการพยายามทำสิ่งนี้คือรับ Javascript ที่ต้องการเพียงบางส่วนที่ด้านล่างของหน้าพร้อมกับ Javascript ที่เหลือและไม่อยู่ตรงกลางของหน้าที่แสดงผลบางส่วน นี่คือตัวอย่างง่ายๆของสิ่งที่ฉันพยายามทำ: นี่คือเค้าโครงที่มีส่วนสคริปต์อยู่ข้างหน้าเนื้อหา <!DOCTYPE html> <html> <head> <title>@ViewBag.Title</title> <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" /> </head> <body> @RenderBody() <script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script> @RenderSection("Scripts", false) </body> </html> นี่คือมุมมองตัวอย่างโดยใช้เค้าโครงนี้ <h2>This is the view</h2> @{Html.RenderPartial("_Partial");} @section Scripts { <script type="text/javascript"> alert("I'm a view."); </script> } และนี่คือการแสดงผลบางส่วนจากมุมมอง <p>This is the partial.</p> @* this …

7
Razor MVC การเติมอาร์เรย์ Javascript ด้วย Model Array
ฉันกำลังพยายามโหลดอาร์เรย์ JavaScript ด้วยอาร์เรย์จากโมเดลของฉัน สำหรับฉันแล้วมันน่าจะเป็นไปได้ ทั้งสองวิธีด้านล่างไม่ได้ผล ไม่สามารถสร้างลูป JavaScript และส่วนเพิ่มผ่าน Model Array ด้วยตัวแปร JavaScript for(var j=0; j<255; j++) { jsArray = (@(Model.data[j]))); } ไม่สามารถสร้าง Razor loop JavaScript อยู่นอกขอบเขต @foreach(var d in Model.data) { jsArray = d; } ฉันสามารถทำให้มันใช้งานได้ var jsdata = @Html.Raw(Json.Encode(Model.data)); แต่ไม่รู้ทำไมต้องใช้ JSON ในขณะนี้ฉัน จำกัด สิ่งนี้ไว้ที่ 255 ไบต์ ในอนาคตอาจมีหลาย MB

3
วิธีเพิ่ม script src ภายใน View เมื่อใช้ Layout
ฉันต้องการรวมการอ้างอิงจาวาสคริปต์เช่น: <script src="@Url.Content("~/Scripts/jqueryFoo.js")" type="text/javascript"></script> ถ้าฉันมี Razor View วิธีใดที่เหมาะสมในการรวมสิ่งนี้โดยไม่ต้องเพิ่มลงใน Layout (ฉันต้องการเพียงมุมมองเดียวเท่านั้นไม่ใช่ทั้งหมด) ใน aspx เราสามารถใช้ตัวยึดเนื้อหาได้ .. ฉันพบตัวอย่างเก่ากว่าที่ใช้ aspx ใน mvc แต่ไม่ใช่มุมมอง Razor ..
102 asp.net-mvc  razor 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.