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

ASP.NET MVC 3 เป็นส่วนขยายหลักรุ่นที่สามของ Model-View-Controller สำหรับการพัฒนาเว็บแอปพลิเคชั่นใน. NET Framework

14
การตั้งค่า Access-Control-Allow-Origin ใน ASP.Net MVC ซึ่งเป็นวิธีที่ง่ายที่สุด
ฉันมีวิธีการง่ายๆที่จะคืนค่า json มันทำงานบน ajax.example.com ฉันต้องการเข้าถึงสิ่งนี้จากเว็บไซต์อื่น someothersite.com หากฉันพยายามโทรหาฉันจะได้รับสิ่งที่คาดหวัง ... : Origin http://someothersite.com is not allowed by Access-Control-Allow-Origin. ฉันรู้วิธีที่จะหลีกเลี่ยงสองวิธีนี้: JSONPและสร้างHttpHandler ที่กำหนดเองเพื่อตั้งค่าส่วนหัว ไม่มีวิธีที่ง่ายกว่านี้ไหม? เป็นไปไม่ได้หรือที่การกระทำอย่างง่าย ๆ ในการกำหนดรายการของต้นกำเนิดที่ได้รับอนุญาต - หรือเป็นการง่ายสำหรับทุกคน? อาจเป็นตัวกรองการกระทำหรือไม่ เหมาะสมที่สุดคือ ... : return json(mydata, JsonBehaviour.IDontCareWhoAccessesMe);

30
“ Parser Error Message: ไม่สามารถโหลดประเภท” ใน Global.asax
ฉันกำลังทำงานกับโครงการ MVC3 และได้รับข้อผิดพลาดดังต่อไปนี้: ข้อความแยกวิเคราะห์ข้อผิดพลาด: ไม่สามารถโหลดประเภท 'GodsCreationTaxidermy.MvcApplication' ข้อผิดพลาดของแหล่งที่มา: บรรทัด 1: <%@ Application Codebehind="Global.asax.cs" Inherits="GodsCreationTaxidermy.Core.MvcApplication" Language="C#" %> ข้อผิดพลาดที่ฉันได้รับไม่สามารถโหลด GodsCreationTaxidermy.Core.MvcApplication ได้ แต่ในหน้าจอนี้ shot ส่วน Core ไม่แสดงในข้อผิดพลาด: ไม่มีใครมีแนวคิดหรือวิธีแก้ไขข้อผิดพลาดนี้หรือไม่?


7
ไฟล์โครงร่าง _ViewStart.cshtml เชื่อมโยงอยู่ที่ไหนและอย่างไร
นี่คือ About.cshtml จากเทมเพลต MVC 3 เริ่มต้น: @{ ViewBag.Title = "About Us"; } <h2>About</h2> <p> Put content here. </p> ฉันคาดหวังว่าการอ้างอิงไปยังไฟล์ _ViewStart จะพบได้ในAbout.cshtmlแต่ไม่ชัดเจน ผมมองในglobal.asaxและweb.configแต่ฉันไม่สามารถหาวิธีการที่About.cshtmlไฟล์ "ที่เชื่อมโยง" กับรูปแบบจากแฟ้ม _ViewStart ทุกอย่างทำงานได้ตามที่คาดหวังฉันแค่อยากรู้ว่าเกิดอะไรขึ้นภายใต้ประทุน ...

9
ป้องกันการแคชใน ASP.NET MVC สำหรับการกระทำที่เจาะจงโดยใช้แอตทริบิวต์
ฉันมีแอปพลิเคชัน ASP.NET MVC 3 แอปพลิเคชันนี้ขอบันทึกผ่าน jQuery jQuery โทรกลับไปยังแอ็คชันคอนโทรลเลอร์ที่ส่งคืนผลลัพธ์ในรูปแบบ JSON ฉันไม่สามารถพิสูจน์ได้ แต่ฉันกังวลว่าข้อมูลของฉันอาจถูกแคช ฉันต้องการให้แคชใช้กับการกระทำบางอย่างเท่านั้นไม่ใช่สำหรับการกระทำทั้งหมด มีแอตทริบิวต์ที่ฉันสามารถดำเนินการเพื่อให้แน่ใจว่าข้อมูลไม่ได้ถูกแคชหรือไม่ หากไม่ฉันจะมั่นใจได้อย่างไรว่าเบราว์เซอร์ได้รับชุดระเบียนใหม่ทุกครั้งแทนที่จะเป็นชุดแคช


4
เข้าถึงค่าคีย์จาก Web.config ใน Razor View-MVC3 ASP.NET
ฉันจะเข้าถึงค่าคีย์จาก web.config ในมุมมองมีดโกนของฉันได้อย่างไร นี่คือของฉันweb.configในระดับรากของโครงการเว็บ <appSettings> <add key="myKey" value="MyValue"/> </appSettings> ฉันต้องการใช้กุญแจในมุมมองมีดโกนของฉัน ขอบคุณ.

10
เพิ่มไฟล์ CSS หรือ JavaScript ให้กับส่วนหัวของมุมมองจากมุมมองหรือมุมมองบางส่วน
ส่วนหัวของหน้าเลย์เอาต์: <head> <link href="@Url.Content("~/Content/themes/base/Site.css")" rel="stylesheet" type="text/css" /> </head> มุมมอง (AnotherView) จากแอปพลิเคชันที่ต้องการ: <link href="@Url.Content("~/Content/themes/base/AnotherPage.css")" rel="stylesheet" type="text/css" /> และ AnotherView มีมุมมองบางส่วน (AnotherPartial) ซึ่งต้องการ: <link href="@Url.Content("~/Content/themes/base/AnotherPartial.css")" rel="stylesheet" type="text/css" /> คำถาม: เราจะเพิ่มลิงค์ไฟล์ CSS เหล่านี้ให้กับลิงค์AnotherView และ AnotherPartial ไปยังส่วนหัวของเค้าโครงได้อย่างไร? RenderSection ไม่ใช่ความคิดที่ดีเพราะ AnotherPage สามารถมีได้มากกว่าหนึ่ง Partials เพิ่ม CSS ทั้งหมดในส่วนหัวไม่มีประโยชน์เพราะจะเปลี่ยน dynamicaly (ขึ้นอยู่กับ Anotherpages)

5
ความแตกต่างระหว่าง Html.TextboxFor และ Html.EditorFor ใน MVC และมีดโกน
ทำไมค่าเริ่มต้นถึงถูกเปลี่ยนเมื่อเพิ่มมุมมอง "แก้ไข" ใหม่ อะไรคือข้อดีเมื่อใช้EditorFor()กับTextboxFor()? ฉันพบสิ่งนี้ ตามค่าเริ่มต้นตอนนี้สร้างและแก้ไข scaffolds ใช้ตัวช่วย Html.EditorFor แทนตัวช่วย Html.TextBoxFor สิ่งนี้ช่วยปรับปรุงการรองรับข้อมูลเมตาบนโมเดลในรูปแบบของแอตทริบิวต์คำอธิบายประกอบข้อมูลเมื่อกล่องโต้ตอบเพิ่มมุมมองสร้างมุมมอง

11
รวม antiforgerytoken ใน Ajax post ASP.NET MVC
ฉันมีปัญหากับ AntiForgeryToken ด้วย ajax ฉันใช้ ASP.NET MVC 3. ฉันพยายามแก้ปัญหาในการโทร jQuery Ajax และ Html.AntiForgeryToken () การใช้โซลูชันนั้นโทเค็นกำลังถูกส่งผ่าน: var data = { ... } // with token, key is '__RequestVerificationToken' $.ajax({ type: "POST", data: data, datatype: "json", traditional: true, contentType: "application/json; charset=utf-8", url: myURL, success: function (response) { ... }, error: function (response) …

8
Razor HtmlHelper Extensions (หรือเนมสเปซอื่นสำหรับมุมมอง) ไม่พบ
Dunno หากสิ่งนี้เกิดขึ้นใน PR หรือเบต้า แต่ถ้าฉันสร้างวิธีการต่อขยายHtmlHelperมันจะไม่ได้รับการยอมรับในหน้ามีดโกนที่ใช้พลังงาน: namespace SomeNamespace.Extensions { public static class HtmlExtensions { public static string Foo(this HtmlHelper html) { return "Foo"; } } } ฉันเพิ่มลงใน<Namespaces>ส่วนในWeb.config: <pages> <namespaces> <add namespace="System.Web.Mvc" /> <!-- snip --> <add namespace="SomeNamespace.Extensions"/> </namespaces> </pages> แต่จะมีข้อผิดพลาดในการคอมไพล์เมื่อพยายามดูหน้า: @Html.Foo() หากฉันสร้างหน้าขึ้นใหม่ด้วยWebFormsก็ใช้งานได้ดี ตกลงคืออะไร? วิธีแก้ปัญหา หากฉันรวม@using SomeNamespace.Extensionsไว้ในมุมมองมีดโกนของฉันแล้วก็ใช้งานได้ แต่ฉันก็อยากจะลองใช้ดูWeb.config

6
ทำการดำเนินการแบบอะซิงโครนัสใน ASP.NET MVC ใช้เธรดจาก ThreadPool บน. NET 4
หลังจากคำถามนี้ทำให้ฉันรู้สึกสบายใจเมื่อใช้การดำเนินการ async ใน ASP.NET MVC ดังนั้นฉันจึงเขียนบล็อกโพสต์สองข้อความว่า: การเขียนโปรแกรมแบบอะซิงโครนัสตามงานของฉันใน C # 5.0 และ ASP.NET MVC Web Applications การเรียกฐานข้อมูลแบบอะซิงโครนัสด้วยรูปแบบการเขียนโปรแกรมแบบอะซิงโครนัส (TAP) ใน ASP.NET MVC 4 ฉันมีความเข้าใจผิดในใจเกี่ยวกับการทำงานแบบอะซิงโครนัสบน ASP.NET MVC มากเกินไป ฉันมักจะได้ยินประโยคนี้: แอปพลิเคชันสามารถปรับขนาดได้ดีขึ้นหากการดำเนินการแบบอะซิงโครนัส และฉันก็ได้ยินประโยคแบบนี้มากมายเช่นกัน: ถ้าคุณมีปริมาณการใช้ข้อมูลจำนวนมากคุณอาจจะดีกว่าถ้าคุณไม่ตอบแบบสอบถามแบบอะซิงโครนัสโดยใช้เธรดพิเศษ 2 เธรดในการให้บริการหนึ่งคำขอ ฉันคิดว่าทั้งสองประโยคนั้นไม่สอดคล้องกัน ฉันไม่มีข้อมูลมากนักเกี่ยวกับการทำงานของ threadpool บน ASP.NET แต่ฉันรู้ว่า threadpool นั้นมีขนาดที่ จำกัด สำหรับเธรด ดังนั้นประโยคที่สองจะต้องเกี่ยวข้องกับปัญหานี้ และฉันต้องการทราบว่าการดำเนินการแบบอะซิงโครนัสใน ASP.NET MVC ใช้เธรดจาก ThreadPool บน. NET 4 …

12
ประเภท Dynamic Anonymous ใน Razor ทำให้ RuntimeBinderException
ฉันได้รับข้อผิดพลาดต่อไปนี้: 'object' ไม่มีคำนิยามสำหรับ 'RatingName' เมื่อคุณดูประเภทไดนามิกนิรนามจะมี RatingName อย่างชัดเจน ฉันรู้ว่าฉันสามารถทำได้ด้วย Tuple แต่ฉันต้องการที่จะเข้าใจว่าทำไมข้อผิดพลาดเกิดขึ้น

1
วิธีที่ถูกต้องในการใช้ _viewstart.cshtml และมุมมองมีดโกนบางส่วน?
ฉันใช้_viewstart.cshtmlเพื่อกำหนดมีดโกนรูปแบบเดียวกันให้กับมุมมองของฉันโดยอัตโนมัติ เป็นไฟล์แบบง่าย ๆ ที่อยู่ในรูทของโฟลเดอร์ Views ของฉันที่มีลักษณะดังนี้: @{ Layout = "~/Views/Shared/_Layout.cshtml"; } นี่คือ DRY มากกว่าการเพิ่มคำสั่ง @Layout ในทุก ๆ มุมมอง อย่างไรก็ตามสิ่งนี้ทำให้เกิดปัญหาสำหรับมุมมองบางส่วนของ Razor เนื่องจากพวกเขาเรียกใช้เนื้อหาของ _viewstart.cshtml ดังนั้นจึงกำหนดรูปแบบตัวเองอย่างไม่ถูกต้องซึ่งทำให้พวกเขาเอ่อไม่ใช่บางส่วนอีกต่อไป นี่คือโครงการสมมุติซึ่งแสดงไฟล์ _viewstart.cshtml, ไฟล์ _layout.shtml ที่ใช้ร่วมกันและมุมมองบางส่วน ("AnonBar.cshtml") ปัจจุบันวิธีที่ฉันได้รับรอบนี้คือการเพิ่มบรรทัดต่อไปนี้ในทุกมุมมองบางส่วน: @{ Layout = ""; } ดูเหมือนว่าวิธีการที่ผิดในการแสดงว่ามุมมองเป็นส่วนหนึ่งในมีดโกน (โปรดทราบว่าไม่เหมือนกับเอ็นจิ้นดูเว็บฟอร์มส่วนขยายไฟล์จะเหมือนกันสำหรับบางส่วนของมุมมอง) ตัวเลือกอื่น ๆ ที่ฉันพิจารณา แต่นั่นแย่กว่า: วางมุมมองบางส่วนทั้งหมดลงในโฟลเดอร์ทั่วไปเพื่อให้พวกเขาสามารถแบ่งปัน _viewstart.cshtml ทั่วไป สิ่งนี้จะทำให้การประชุมของมุมมองอยู่ในโฟลเดอร์เดียวกับตัวควบคุม ไม่ได้ใช้มุมมองบางส่วน นี่เป็นบางสิ่งที่ยังคงถูกถ่ายทอดออกมาโดยทีมงานของ Razor View Engine …

5
EF LINQ ประกอบด้วยเอนทิตีหลายแบบและซ้อนกัน
ตกลงฉันมีหน่วยงานสามระดับที่มีลำดับชั้นต่อไปนี้: หลักสูตร -> โมดูล -> บท นี่คือคำสั่ง EF LINQ ดั้งเดิม: Course course = db.Courses .Include(i => i.Modules.Select(s => s.Chapters)) .Single(x => x.Id == id); ตอนนี้ฉันต้องการรวมเอนทิตีอื่นที่เรียกว่าแล็บซึ่งเชื่อมโยงกับหลักสูตร ฉันจะรวมเอนทิตี Lab ได้อย่างไร ฉันลองสิ่งต่อไปนี้ แต่มันไม่ทำงาน: Course course = db.Courses .Include(i => i.Modules.Select(s => s.Chapters) && i.Lab) .Single(x => x.Id == id); มีความคิดเห็นเกี่ยวกับการรวม Entity ที่ 2 …

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