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

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

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)ในเค้าโครงหลักของฉัน แต่ดูเหมือนว่าจะใช้ไม่ได้ในเทมเพลตดิสเพลย์ / ตัวแก้ไข - มีความคิดใดบ้าง


2
ฉันจะประกาศความสัมพันธ์คีย์ต่างประเทศโดยใช้ Code First Entity Framework (4.1) ใน MVC3 ได้อย่างไร
ฉันค้นหาแหล่งข้อมูลเกี่ยวกับวิธีการประกาศความสัมพันธ์ของคีย์ต่างประเทศและข้อ จำกัด อื่น ๆ โดยใช้รหัส EF 4.1 แรกโดยไม่ต้องมีโชคมากนัก โดยทั่วไปฉันกำลังสร้างโมเดลข้อมูลในโค้ดและใช้ MVC3 เพื่อค้นหาโมเดลนั้น ทุกอย่างทำงานผ่าน MVC ซึ่งยอดเยี่ยมมาก (ขอชื่นชม Microsoft!) แต่ตอนนี้ฉันไม่ต้องการให้มันทำงานเพราะฉันต้องมีข้อ จำกัด ของโมเดลข้อมูล ตัวอย่างเช่นฉันมีวัตถุ Order ที่มีคุณสมบัติมากมายที่เป็นวัตถุภายนอก (ตาราง) ตอนนี้ฉันสามารถสร้างคำสั่งซื้อได้โดยไม่มีปัญหา แต่ไม่สามารถเพิ่ม Foreign Key หรือวัตถุภายนอกได้ MVC3 ตั้งค่านี้ไม่มีปัญหา ฉันรู้ว่าฉันสามารถเพิ่มวัตถุด้วยตัวเองในคลาสคอนโทรลเลอร์ก่อนที่จะบันทึก แต่ฉันต้องการให้การเรียกไปยัง DbContext.SaveChanges () ล้มเหลวหากไม่ตรงตามความสัมพันธ์ของข้อ จำกัด ข้อมูลใหม่ ดังนั้นโดยเฉพาะฉันต้องการให้มีข้อยกเว้นเกิดขึ้นเมื่อฉันพยายามบันทึกวัตถุคำสั่งซื้อโดยไม่ระบุวัตถุของลูกค้า สิ่งนี้ดูเหมือนจะไม่ใช่พฤติกรรมถ้าฉันเพียงแค่จัดองค์ประกอบวัตถุตามที่อธิบายไว้ในเอกสาร Code First EF ส่วนใหญ่ รหัสล่าสุด: public class Order { public int …

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


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 …

19
มุมมองที่ใช้มีดโกนไม่เห็นชุดประกอบที่อ้างอิง
ฉันกำลังพยายามสร้างมุมมองที่พิมพ์ผิดโดยอิงจากคลาสจากแอสเซมบลีอื่น ไม่ว่าจะด้วยเหตุผลใดก็ตามมุมมอง Razor ของฉันดูเหมือนจะไม่สามารถมองเห็นส่วนประกอบอื่น ๆ ที่อ้างถึงในโครงการของฉันได้ เช่น @model MyClasses.MyModel ผลลัพธ์ในข้อผิดพลาดใน Visual Studio 2010 "ไม่พบชนิดหรือชื่อเนมสเปซMyClasses(คุณไม่มีคำสั่งโดยใช้หรือการอ้างอิงแอสเซมบลีหรือไม่)" คลาสเดียวกันที่อ้างถึงในเอ็นจินมุมมองมาตรฐานทำงานได้ดี ฉันมีปัญหาเหมือนกันในการพยายามอ้างอิงชั้นเรียนในเนื้อหาของมุมมองของฉัน ฉันพลาดบางอย่างเกี่ยวกับ Razor หรือฉันจำเป็นต้องอ้างอิงการประกอบด้วยวิธีอื่นหรือไม่?

4
Razor ViewEngine: ฉันจะหนีสัญลักษณ์“ @” ได้อย่างไร?
ฉันกำลังพยายามส่งออกตัวจัดการ Twitter บางตัวใน ASP.NET MVC3 ร่วมกับ Twitter @Anywhere API และฉันไม่สามารถหาวิธีหลีกเลี่ยงสัญลักษณ์ "@" ในมุมมองมีดโกนได้ ไม่มีใครรู้ว่าไวยากรณ์สำหรับการหลีกเลี่ยงอักขระ "@" ใน Razor คืออะไร? ฉันได้ลองใช้<text></text>แล้วและส่งผลให้เกิดข้อผิดพลาด JIT

5
วิธีที่เหมาะสมในการใช้ AJAX Post ใน jquery เพื่อส่งผ่านโมเดลจากมุมมอง MVC3 ที่พิมพ์มาก
ฉันเป็นมือใหม่หัดเขียนโปรแกรมเว็บดังนั้นโปรดยกโทษให้ฉันด้วยหาก "ศัพท์แสง" บางคำไม่ถูกต้อง ฉันมีโครงการที่ใช้ ASP.NET โดยใช้เฟรมเวิร์ก MVC3 ฉันกำลังดำเนินการเกี่ยวกับมุมมองของผู้ดูแลระบบซึ่งผู้ดูแลระบบจะแก้ไขรายการอุปกรณ์ หนึ่งในฟังก์ชันคือปุ่ม "อัปเดต" ที่ฉันต้องการใช้ jquery เพื่อแก้ไขรายการบนหน้าเว็บแบบไดนามิกหลังจากส่งโพสต์ไปยังตัวควบคุม MVC ฉันคิดว่าวิธีนี้ "ปลอดภัย" ในการตั้งค่าผู้ดูแลระบบเดียวซึ่งมีข้อกังวลน้อยที่สุดเกี่ยวกับการไม่ซิงค์กับฐานข้อมูลของหน้าเว็บ ฉันได้สร้างข้อมูลพร็อพเพอร์ตี้ที่พิมพ์อย่างชัดเจนและหวังว่าจะส่งต่อข้อมูลโมเดลไปยังตัวควบคุม MVC โดยใช้โพสต์ AJAX ในโพสต์ต่อไปนี้ฉันพบสิ่งที่คล้ายกับสิ่งที่ฉันกำลังทำอยู่: JQuery Ajax และ ASP.NET MVC3 ทำให้เกิดพารามิเตอร์ null ฉันจะใช้ตัวอย่างโค้ดจากโพสต์ด้านบน รุ่น: public class AddressInfo { public string Address1 { get; set; } public string Address2 { get; set; } public …

7
การใช้ JSON.NET เป็น Serializer JSON เริ่มต้นใน ASP.NET MVC 3 เป็นไปได้หรือไม่?
เป็นไปได้ไหมที่จะใช้JSON.NETเป็น JSON serializer เริ่มต้นใน ASP.NET MVC 3 จากการวิจัยของฉันดูเหมือนว่าวิธีเดียวที่จะทำได้คือการขยาย ActionResultเนื่องจากJsonResult ใน MVC3 ไม่ใช่เสมือน ... ฉันหวังว่าด้วย ASP.NET MVC 3 จะมีวิธีระบุผู้ให้บริการแบบเสียบได้สำหรับการทำให้เป็นอนุกรมกับ JSON ความคิด?

3
ฉันจะเปิดใช้งานการบีบอัด gzip เมื่อใช้ MVC3 บน IIS7 ได้อย่างไร
ไม่มีใครรู้วิธีเปิดใช้งานการบีบอัด gzip ใน MVC 3? ฉันใช้ IIS7 ผลการตรวจสอบ Google Chrome: เปิดใช้งานการบีบอัด gzip (4) การบีบอัดทรัพยากรต่อไปนี้ด้วย gzip สามารถลดขนาดการถ่ายโอนได้ประมาณสองในสาม (~ 92.23KB): / mydomain / สามารถบันทึกได้ ~ 1.53 KB jquery-1.4.4.min.js สามารถบันทึก ~ 51.35KB Cufon.js สามารถประหยัดได้ ~ 11.89KB Futura.js สามารถประหยัดได้ ~ 27.46KB

3
แอตทริบิวต์ HTML แบบมีเงื่อนไขโดยใช้ Razor MVC3
ตัวแปร strCSSClass มักมีค่า แต่บางครั้งก็ว่างเปล่า ฉันไม่ต้องการรวม class = "" ที่ว่างเปล่าไว้ใน HTML ขององค์ประกอบอินพุตนี้ซึ่งหมายความว่าถ้า strCSSClass ว่างเปล่าฉันไม่ต้องการแอตทริบิวต์ class = เลย ต่อไปนี้เป็นวิธีหนึ่งในการสร้างแอตทริบิวต์ HTML แบบมีเงื่อนไข: <input type="text" id="@strElementID" @(CSSClass.IsEmpty() ? "" : "class=" + strCSSClass) /> มีวิธีที่หรูหรากว่านี้หรือไม่? โดยเฉพาะอย่างยิ่งที่ฉันสามารถทำตามไวยากรณ์เดียวกันกับที่ใช้ในส่วนอื่น ๆ ขององค์ประกอบ: class = "@ strCSSClass"?

4
Razor ไม่เข้าใจแท็ก html ที่ไม่ปิด
ด้วย RazorViewEngine ฉันสามารถทำได้: if (somecondition) { <div> some stuff </div> } แต่ดูเหมือนจะทำไม่ได้ (Razor สับสน): if (somecondition) { <div> } if (someothercondition) { </div> } ฉันมีสถานการณ์ที่ฉันจำเป็นต้องใส่แท็ก html เปิดและปิดในบล็อกโค้ดต่างๆ - ฉันจะทำสิ่งนี้ใน Razor ได้อย่างไร?

13
jquery.validate.unobtrusive ไม่ทำงานกับองค์ประกอบที่แทรกแบบไดนามิก
ฉันกำลังทำงานASP.Net MVC3อยู่วิธีที่ง่ายกว่าในการใช้การตรวจสอบความถูกต้องของไคลเอ็นต์คือการเปิดใช้งานไฟล์jquery.validate.unobtrusive. ทุกอย่างทำงานได้ดีสำหรับสิ่งที่ถูกต้องจากเซิร์ฟเวอร์ แต่เมื่อฉันพยายามฉีด 'อินพุต' ใหม่ด้วยจาวาสคริปต์และฉันรู้ว่าฉันต้องเรียกร้อง$.validator.unobtrusive.parse()ให้ทำการตรวจสอบความถูกต้องอีกครั้ง แต่ถึงกระนั้นเขตข้อมูลที่ฉีดแบบไดนามิกเหล่านั้นทั้งหมดจะไม่ทำงาน ที่แย่กว่านั้นคือฉันพยายามผูกด้วยตนเองโดยใช้jquery.validateและมันก็ใช้ไม่ได้เช่นกัน ความคิดใด ๆ ?

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