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

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

7
Entity Framework 5 การอัพเดตเรคคอร์ด
ฉันได้ทำการสำรวจวิธีการต่าง ๆ ในการแก้ไข / ปรับปรุงระเบียนภายใน Entity Framework 5 ในสภาพแวดล้อม ASP.NET MVC3 แต่จนถึงขณะนี้ยังไม่มีใครทำเครื่องหมายในช่องทั้งหมดที่ฉันต้องการ ฉันจะอธิบายว่าทำไม ฉันได้พบสามวิธีที่ฉันจะพูดถึงข้อดีและข้อเสีย: วิธีที่ 1 - โหลดระเบียนต้นฉบับอัปเดตแต่ละคุณสมบัติ var original = db.Users.Find(updatedUser.UserId); if (original != null) { original.BusinessEntityId = updatedUser.BusinessEntityId; original.Email = updatedUser.Email; original.EmployeeId = updatedUser.EmployeeId; original.Forename = updatedUser.Forename; original.Surname = updatedUser.Surname; original.Telephone = updatedUser.Telephone; original.Title = updatedUser.Title; original.Fax = …

21
ไฟล์อัพโหลด ASP.NET MVC 3.0
(คำนำ: คำถามนี้เกี่ยวกับ ASP.NET MVC 3.0 ซึ่งเปิดตัวในปี 2554ไม่ใช่เกี่ยวกับASP.NET Core 3.0ซึ่งเผยแพร่ในปี 2019) ฉันต้องการอัพโหลดไฟล์ใน asp.net mvc ฉันจะอัพโหลดไฟล์โดยใช้input fileการควบคุมhtml ได้อย่างไร


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

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

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 …

5
ทำไมต้อง JsonRequestBehavior?
ทำไมถึงJson Request Behaviorจำเป็น? หากฉันต้องการ จำกัดHttpGetคำขอให้ดำเนินการของฉันฉันสามารถตกแต่งแอ็คชันด้วย[HttpPost]แอตทริบิวต์ ตัวอย่าง: [HttpPost] public JsonResult Foo() { return Json("Secrets"); } // Instead of: public JsonResult Foo() { return Json("Secrets", JsonRequestBehavior.AllowGet); } ทำไมจึงไม่[HttpPost]เพียงพอ ทำไมกรอบการทำงานของ "ข้อบกพร่อง" ที่เรามีJsonRequestBehavior.AllowGetสำหรับทุกJsonResultสิ่งที่เรามี หากฉันต้องการที่จะปฏิเสธการขอฉันจะเพิ่มHttpPostคุณสมบัติ

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> } แต่มันไม่ได้ผล เป็นไปได้ไหม

7
วิธีการตั้งค่าของข้อความที่ป้อนโดยใช้ jQuery
ฉันมีข้อความอินพุตซึ่งคือ: <div class="editor-label"> @Html.LabelFor(model => model.EmployeeId, "Employee Number") </div> <div class="editor-field textBoxEmployeeNumber"> @Html.EditorFor(model => model.EmployeeId) @Html.ValidationMessageFor(model => model.EmployeeId) </div> ซึ่งผลิต html ต่อไปนี้ <div class="editor-label"> <label for="EmployeeId">Employee Number</label> </div> <div class="editor-field textBoxEmployeeNumber"> <input class="text-box single-line" data-val="true" data-val-number="The field EmployeeId must be a number." data-val-required="The EmployeeId field is required." id="EmployeeId" name="EmployeeId" type="text" …


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มุมมองบางส่วน ฉันจะทำสิ่งนี้ได้อย่างไร

25
พบหลายประเภทที่ตรงกับตัวควบคุมที่ชื่อว่า 'บ้าน'
ขณะนี้ฉันมีโครงการ MVC3 สองรายการที่ไม่เกี่ยวข้องซึ่งโฮสต์ออนไลน์ หนึ่งทำงานได้ดีอื่น ๆ ไม่ทำงานให้ฉันข้อผิดพลาด: พบหลายประเภทที่ตรงกับตัวควบคุมที่ชื่อว่า 'บ้าน' สิ่งนี้อาจเกิดขึ้นได้หากเส้นทางที่ให้บริการคำขอนี้ ('{controller} / {action} / {id}') ไม่ได้ระบุเนมสเปซเพื่อค้นหาคอนโทรลเลอร์ที่ตรงกับคำขอ หากเป็นกรณีนี้ให้ลงทะเบียนเส้นทางนี้โดยเรียกโอเวอร์โหลดของวิธีการ 'MapRoute' ที่ใช้พารามิเตอร์ 'namespaces' วิธีที่ hoster ของฉันทำงานคือเขาให้การเข้าถึง FTP แก่ฉันและในโฟลเดอร์นั้นฉันมีอีกสองโฟลเดอร์หนึ่งโฟลเดอร์สำหรับแต่ละแอปพลิเคชันของฉัน ftpFolderA2 / foo.com ftpFolderA2 / bar.com foo.com ทำงานได้ดีฉันเผยแพร่แอปพลิเคชันของฉันไปยังระบบไฟล์ในท้องถิ่นแล้ว FTP เนื้อหาและใช้งานได้ เมื่อฉันอัปโหลดและพยายามเรียกใช้ bar.com ปัญหาดังกล่าวเกิดขึ้นและทำให้ฉันไม่สามารถใช้งานเว็บไซต์ของฉันได้ ทั้งหมดในขณะที่ foo.com ยังคงใช้งานได้ เป็น bar.com ค้นหาจากตัวควบคุมทุกที่ภายในของ ftpFolderA2 และที่ว่าทำไมมันหาอีกHomeController? ฉันจะบอกให้ดูเฉพาะในโฟลเดอร์คอนโทรลเลอร์เท่าที่ควรได้อย่างไร ข้อเท็จจริง: ไม่ได้ใช้พื้นที่ เหล่านี้เป็นสองโครงการที่ไม่เกี่ยวข้องอย่างสมบูรณ์ ฉันวางแต่ละโครงการที่เผยแพร่ในแต่ละโฟลเดอร์ที่เกี่ยวข้อง …

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

9
ส่งคืนไฟล์เพื่อดู / ดาวน์โหลดใน ASP.NET MVC
ฉันประสบปัญหาในการส่งไฟล์ที่เก็บไว้ในฐานข้อมูลกลับไปยังผู้ใช้ใน ASP.NET MVC สิ่งที่ฉันต้องการคือมุมมองที่แสดงรายการลิงก์สองรายการลิงก์หนึ่งเพื่อดูไฟล์และปล่อยให้ mimetype ที่ส่งไปยังเบราว์เซอร์พิจารณาว่าควรจัดการอย่างไรและอีกลิงค์บังคับให้ดาวน์โหลด หากฉันเลือกที่จะดูไฟล์ที่เรียกว่าSomeRandomFile.bakและเบราว์เซอร์ไม่มีโปรแกรมที่เกี่ยวข้องในการเปิดไฟล์ประเภทนี้แสดงว่าฉันไม่มีปัญหากับการเริ่มต้นกับพฤติกรรมการดาวน์โหลด อย่างไรก็ตามถ้าฉันเลือกที่จะดูไฟล์ที่เรียกว่าSomeRandomFile.pdfหรือSomeRandomFile.jpgฉันต้องการให้เปิดไฟล์ แต่ฉันต้องการเก็บลิงค์ดาวน์โหลดไว้ด้านข้างเพื่อให้ฉันสามารถบังคับให้พรอมต์ดาวน์โหลดโดยไม่คำนึงถึงประเภทไฟล์ มันสมเหตุสมผลหรือไม่ ฉันเหนื่อย FileStreamResultแล้วมันใช้งานได้กับไฟล์ส่วนใหญ่คอนสตรัคเตอร์ไม่ยอมรับชื่อไฟล์ตามค่าเริ่มต้นดังนั้นไฟล์ที่ไม่รู้จักจะถูกกำหนดชื่อไฟล์ตาม URL (ซึ่งไม่ทราบว่าจะให้นามสกุลตามประเภทเนื้อหา) หากฉันบังคับชื่อไฟล์ด้วยการระบุฉันจะเสียความสามารถของเบราว์เซอร์ในการเปิดไฟล์โดยตรงและฉันได้รับพรอมต์ดาวน์โหลด มีคนอื่นพบสิ่งนี้หรือไม่? นี่คือตัวอย่างของสิ่งที่ฉันได้ลองมา //Gives me a download prompt. return File(document.Data, document.ContentType, document.Name); //Opens if it is a known extension type, downloads otherwise (download has bogus name and missing extension) return new FileStreamResult(new MemoryStream(document.Data), document.ContentType); //Gives me …

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

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