ฉันต้องการขอไฟล์. html แบบคงที่ซึ่งอยู่ในโฟลเดอร์ ~ / Views
คุณทำได้ คำตอบที่ทำเครื่องหมายไว้ไม่ถูกต้องทั้งหมดแม้ว่าจะให้คำตอบก็ตาม
การให้เหตุผลในคำตอบที่ทำเครื่องหมายนั้นถูกต้องคือ web.config (การตั้งค่า BlockViewHandler เฉพาะ) ในโฟลเดอร์ Views ที่ป้องกันไม่ให้เข้าถึงไฟล์โดยตรง มีไว้สำหรับการรักษาความปลอดภัยมุมมองใน Asp.Net MVC แต่ถ้าคุณถามคำถามเกี่ยวกับการให้บริการไฟล์เหล่านี้โดยตรงคุณอาจมีเหตุผลที่ถูกต้องในการทำเช่นนั้นเช่นการใช้มุมมองบางส่วนของ AngularJS (เช่นในกรณีของเรา) ซึ่งเราไม่ต้องการทำซ้ำโฟลเดอร์มุมมองที่มีชื่อแปลก ๆ
ดังนั้นนี่คือการปรับแต่งที่ง่ายมากที่คุณสามารถทำได้ในไฟล์ web.config ที่พบในโฟลเดอร์ Views โดยไม่สูญเสียความปลอดภัยของมุมมอง mvc ของ asp.net ของคุณ สิ่งนี้จะรักษาความปลอดภัยไฟล์. cshtml ตามปกติ แต่ปล่อยให้ไฟล์. html ของคุณอยู่คนเดียว
เปลี่ยนสิ่งนี้
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
--ถึง--
<add name="BlockViewHandler" path="*.cshtml" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />