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

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


15
Escape @ ตัวละครในเครื่องมือดูมีดโกน
ฉันกำลังสร้างไซต์ ASP.NET MVC 3 ตัวอย่างโดยใช้มีดโกนเป็นเอ็นจิ้นการดู ไวยากรณ์มีดโกนเริ่มต้นด้วยตัวอักษรเช่น@ @RenderBody()ถ้าฉันเขียน @test บนหน้า cshtml ของฉันมันทำให้ฉันมีข้อผิดพลาดในการแยกวิเคราะห์ CS0103: ชื่อ 'ทดสอบ' ไม่มีอยู่ในบริบทปัจจุบัน ฉันจะหลบหนีตัวละคร '@' ได้อย่างไร

7
การเขียน / ส่งออกสตริง HTML ที่ไม่ใช้ค่า Escape
ฉันบันทึก HTML ที่ปลอดภัย / ถูกสุขลักษณะในตาราง DB แล้ว ฉันจะเขียนเนื้อหา HTML นี้ในมุมมองมีดโกนได้อย่างไร มันก็จะหนีตัวอักษรเช่นและเครื่องหมายการ<&

12
การใช้มีดโกนภายใน JavaScript
เป็นไปได้หรือมีวิธีแก้ปัญหาในการใช้ไวยากรณ์ของมีดโกนใน JavaScript ที่อยู่ในมุมมอง ( cshtml)? ฉันกำลังพยายามเพิ่มเครื่องหมายลงในแผนที่ของ Google ... ตัวอย่างเช่นฉันลองสิ่งนี้ แต่ฉันได้รับข้อผิดพลาดในการรวบรวมจำนวนมาก: <script type="text/javascript"> // Some JavaScript code here to display map, etc. // Now add markers @foreach (var item in Model) { var markerlatLng = new google.maps.LatLng(@(Model.Latitude), @(Model.Longitude)); var title = '@(Model.Title)'; var description = '@(Model.Description)'; var contentString = '<h3>' + …

6
วิธีการใช้ผู้ประกอบการที่สามในมีดโกน (โดยเฉพาะกับคุณลักษณะ HTML)?
ด้วยเอ็นจิ้นการดู WebForms ฉันมักจะใช้โอเปอร์เรเตอร์สำหรับเงื่อนไขที่ง่ายมากโดยเฉพาะในแอตทริบิวต์ HTML ตัวอย่างเช่น: <a class="<%=User.Identity.IsAuthenticated ? "auth" : "anon" %>">My link here</a> รหัสด้านบนจะให้<a>แท็กเป็นคลาสauthหรือanonขึ้นอยู่กับว่าผู้ใช้รับรองความถูกต้อง ไวยากรณ์ที่เทียบเท่ากับเอ็นจิ้นมุมมองมีดโกนคืออะไร? เนื่องจากมีดโกนต้องใช้แท็ก HTML เพื่อ "รู้" เมื่อต้องกระโดดเข้าและออกจากรหัสและมาร์กอัปฉันจึงติดอยู่กับสิ่งต่อไปนี้: @if(User.Identity.IsAuthenticated) { <a class="auth">My link here</a> } else { <a class="anon">My link here</a> } นี่คือที่จะนำมันอย่างอ่อนโยนน่ากลัว ฉันชอบที่จะทำอะไรบางอย่างเช่นนี้ แต่กำลังดิ้นรนเพื่อให้เข้าใจวิธีการในมีดโกน: <a class="@=User.Identity.IsAuthenticated ? "auth" : "anon";">My link here</a> - ปรับปรุง: ในระหว่างนี้ฉันได้สร้าง HtmlHelper …

7
Styles.Render ใน MVC4
ใน.NET MVC4โครงการ@Styles.Renderทำงานอย่างไร ฉันหมายถึง@Styles.Render("~/Content/css")ไฟล์ที่มันกำลังเรียก? ฉันไม่มีไฟล์หรือโฟลเดอร์ชื่อ "css" ด้านในของฉัน Contentโฟลเดอร์

9
วิธีรับ URL หน้าปัจจุบันใน MVC 3
ฉันใช้ปลั๊กอินคอมเม้นท์ Facebook ในบล็อกที่ฉันกำลังสร้าง มันมีแท็ก FBXML บางส่วนที่ตีความโดย Javascript ของ Facebook ที่อ้างอิงในหน้านั้น ทั้งหมดนี้ใช้ได้ดี แต่ฉันต้องผ่าน URL ที่ผ่านการรับรองโดยสมบูรณ์ไปยังปลั๊กอิน <div style="width: 900px; margin: auto;"> <div id="fb-root"></div> <fb:comments href="URL HERE" num_posts="10" width="900"></fb:comments> </div> วิธีที่ดีที่สุดในการรับ URL ของหน้าปัจจุบันคืออะไร? URL คำขอ สารละลาย นี่คือรหัสสุดท้ายของการแก้ปัญหาของฉัน: <fb:comments href="@Request.Url.AbsoluteUri" num_posts="15" width="900"></fb:comments>
360 c#  asp.net  asp.net-mvc  razor 

7
วิธีการประกาศตัวแปรท้องถิ่นในมีดโกน?
ฉันกำลังพัฒนาเว็บแอปพลิเคชั่นใน asp.net mvc 3 ฉันใหม่มาก ในมุมมองที่ใช้มีดโกนฉันต้องการประกาศตัวแปรท้องถิ่นบางส่วนและใช้มันตลอดทั้งหน้า สิ่งนี้สามารถทำได้? ดูเหมือนเป็นเรื่องเล็กน้อยที่จะสามารถทำสิ่งต่อไปนี้: @bool isUserConnected = string.IsNullOrEmpty(Model.CreatorFullName); @if (isUserConnected) { // meaning that the viewing user has not been saved <div> <div> click to join us </div> <a id="login" href="javascript:void(0);" style="display: inline; ">join</a> </div> } แต่มันไม่ได้ผล เป็นไปได้ไหม

6
เปรียบเทียบ ASP.NET MVC View Engine
ฉันได้ค้นหา SO & Google เพื่อดูรายละเอียดของเอ็นจิ้นการดูต่างๆที่มีอยู่สำหรับ ASP.NET MVC แต่ไม่พบคำอธิบายระดับสูงอย่างง่าย ๆ มากกว่าสิ่งที่เอ็นจิ้นการดูเป็น ฉันไม่ได้กำลังมองหา "ดีที่สุด" หรือ "เร็วที่สุด" แต่จำเป็นต้องเปรียบเทียบข้อดีและข้อเสียของผู้เล่นรายใหญ่ (เช่น WebFormViewEngine ที่เป็นค่าเริ่มต้น, MvcContrib View Engines ฯลฯ ) ในสถานการณ์จริง ฉันคิดว่าสิ่งนี้จะเป็นประโยชน์อย่างมากในการพิจารณาว่าการเปลี่ยนจากเอ็นจิ้นเริ่มต้นจะเป็นประโยชน์สำหรับโครงการหรือกลุ่มการพัฒนาที่กำหนดหรือไม่ มีใครพบการเปรียบเทียบดังกล่าวหรือไม่?

22
การฉีดเนื้อหาออกเป็นส่วนที่เฉพาะเจาะจงจากมุมมองบางส่วน ASP.NET MVC 3 พร้อมกับ Razor View Engine
ฉันมีส่วนนี้ที่กำหนดไว้ในของฉัน _Layout.cshtml @RenderSection("Scripts", false) ฉันสามารถใช้งานได้ง่ายจากมุมมอง: @section Scripts { @*Stuff comes here*@ } สิ่งที่ฉันกำลังดิ้นรนคือทำอย่างไรให้เนื้อหาบางส่วนถูกแทรกเข้าไปในส่วนนี้จากมุมมองบางส่วน สมมติว่านี่เป็นหน้ามุมมองของฉัน: @section Scripts { <script> //code comes here </script> } <div> poo bar poo </div> <div> @Html.Partial("_myPartial") </div> ฉันต้องการฉีดเนื้อหาภายในScriptsส่วนจาก_myPartialมุมมองบางส่วน ฉันจะทำสิ่งนี้ได้อย่างไร

3
ฉันจะระบุเลย์เอาต์ต่าง ๆ ในไฟล์ ViewStart ASP.NET MVC 3 ได้อย่างไร
ฉันต้องการมีเลย์เอาต์ 2 แบบในใบสมัครของฉัน สมมติว่าหนึ่งสำหรับส่วนสาธารณะของเว็บไซต์และอื่น ๆ สำหรับฝั่งสมาชิก สำหรับความเรียบง่ายสมมติว่าตรรกะทั้งหมดสำหรับแต่ละเว็บไซต์เหล่านี้ถูกห่ออย่างเรียบร้อยเป็น 2 ตัวควบคุมที่แตกต่างกัน PublicController StaffController และพวกเขาแต่ละคนมีเค้าโครงที่สอดคล้องกันสำหรับมุมมองทั้งหมดภายใต้แต่ละ _PublicLayout.cshtml _StaffLayout.cshtml ฉันจะใช้ไฟล์ _ViewStart.cshtml เพื่อระบุว่ามุมมอง / การกระทำทั้งหมดภายใต้ "สาธารณะ" ใช้ PublicLayout และทุกอย่างภายใต้ "พนักงาน" ใช้ StaffLayout ได้อย่างไร ขอบคุณ!

6
HTML.ActionLink vs Url.Action ใน ASP.NET Razor
มีความแตกต่างระหว่างHTML.ActionLinkvs Url.Actionหรือพวกเขาเป็นเพียงสองวิธีในการทำสิ่งเดียวกันหรือไม่? เมื่อใดที่ฉันควรเลือกหนึ่งรายการมากกว่ารายการอื่น

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
ให้บริการ favicon.ico ใน ASP.NET MVC
คำแนะนำสุดท้าย / ดีที่สุดสำหรับวิธีการให้บริการ favicon.ico ใน ASP.NET MVC คืออะไร? ฉันกำลังทำสิ่งต่อไปนี้: การเพิ่มรายการให้กับจุดเริ่มต้นของวิธี RegisterRoutes ของฉัน: routes.IgnoreRoute("favicon.ico"); วาง favicon.ico ในรูทของแอปพลิเคชันของฉัน (ซึ่งจะเป็นรูทของโดเมนของฉันด้วย) ฉันมีสองคำถาม: ไม่มีวิธีใดที่จะนำ favicon.ico ไปไว้ที่อื่นนอกเหนือจากรูทของใบสมัครของฉัน มันสวยเหนอะเป็นสิทธิที่มีอยู่ในระดับเดียวกับและContentControllers นี่คือIgnoreRoute("favicon.ico")คำสั่งที่เพียงพอ - หรือฉันควรทำอย่างไรต่อไปตามที่กล่าวไว้ในบล็อกโพสต์จากฟิล Haack ฉันไม่ทราบว่าเคยเห็นคำขอ favicon.ico ในไดเรกทอรีใด ๆ นอกเหนือจากรูทซึ่งจะทำให้สิ่งนี้ไม่จำเป็น (แต่เป็นการดีที่จะรู้ว่าต้องทำอย่างไร) routes.IgnoreRoute("{*favicon}", new {favicon=@"(.*/)?favicon.ico(/.*)?"});


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