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

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

1
วิธีการเขียน“ Html. BeginForm” ใน Razor
ถ้าฉันเขียนแบบนี้: form action = "รูปภาพ" method = "post" enctype = "multipart / form-data" มันได้ผล. แต่ใน Razor ที่มี "@" จะใช้ไม่ได้ ฉันทำผิดอะไรหรือเปล่า? @using (Html.BeginForm("Upload", "Upload", FormMethod.Post, new { enctype = "multipart/form-data" })) { @Html.ValidationSummary(true) <fieldset> Select a file <input type="file" name="file" /> <input type="submit" value="Upload" /> </fieldset> } ตัวควบคุมของฉันมีลักษณะดังนี้: [AcceptVerbs(HttpVerbs.Post)] public ActionResult …

4
ASP.Net MVC Html.HiddenFor ที่มีค่าผิด
ฉันใช้ MVC 3 ในโครงการของฉันและฉันเห็นพฤติกรรมแปลก ๆ ฉันกำลังพยายามสร้างฟิลด์ที่ซ่อนอยู่สำหรับค่าเฉพาะในโมเดลของฉันปัญหาคือด้วยเหตุผลบางประการค่าที่ตั้งบนฟิลด์ไม่สอดคล้องกับค่าในโมเดล เช่น ฉันมีรหัสนี้เช่นเดียวกับการทดสอบ: <%:Html.Hidden("Step2", Model.Step) %> <%:Html.HiddenFor(m => m.Step) %> ฉันคิดว่าฟิลด์ที่ซ่อนทั้งสองจะมีค่าเท่ากัน สิ่งที่ฉันทำคือตั้งค่าเป็น 1 ในครั้งแรกที่ฉันแสดงมุมมองจากนั้นหลังจากการส่งฉันจะเพิ่มค่าของฟิลด์ Model ขึ้น 1 ดังนั้นครั้งแรกที่ฉันแสดงผลหน้าทั้งสองตัวควบคุมมีค่า 1 แต่ครั้งที่สองค่าที่แสดงผลคือ: <input id="Step2" name="Step2" type="hidden" value="2" /> <input id="Step" name="Step" type="hidden" value="1" /> อย่างที่คุณเห็นค่าแรกถูกต้อง แต่ค่าที่สองดูเหมือนจะเหมือนกับครั้งแรกที่ฉันแสดงมุมมอง ฉันขาดอะไรไป? ผู้ช่วย * สำหรับ Html กำลังแคชค่าในทางใดทางหนึ่งหรือไม่? ถ้าเป็นเช่นนั้นฉันจะปิดใช้งานการแคชนี้ได้อย่างไร? ขอบคุณสำหรับความช่วยเหลือของคุณ.

6
MVC3 Razor: แสดง html ภายในโค้ดบล็อค
ในไฟล์ cshtml ของฉันฉันมีบล็อกมากมายที่มีสิ่งเหล่านี้: @if(Model.foo) { <span>Hello World</span> } เหตุผลเดียวที่ทำให้สแปนนั้นเป็นเพราะฉันไม่พบวิธีอื่นใดที่จะบังคับให้มันรับรู้ว่า "Hello World" เป็นส่วนหนึ่งของ html เว้นแต่ฉันจะล้อมรอบด้วยแท็ก html มีวิธีที่ดีในการหลีกเลี่ยงโค้ดที่ไม่เกี่ยวข้องกับการเพิ่มแท็กที่ไม่มีความหมายลงในจอแสดงผลหรือไม่?

3
วิธีใช้ knockout.js กับ ASP.NET MVC ViewModels?
เงินรางวัล มันไม่นานมานี้และฉันยังมีคำถามที่ค้างอยู่สองสามข้อ ฉันหวังว่าโดยการเพิ่มรางวัลบางทีคำถามเหล่านี้จะได้รับคำตอบ คุณใช้ html helpers กับ knockout.js อย่างไร เหตุใดเอกสารจึงจำเป็นต้องพร้อมใช้งาน (ดูการแก้ไขครั้งแรกสำหรับข้อมูลเพิ่มเติม) ฉันจะทำสิ่งนี้ได้อย่างไรถ้าฉันใช้การทำแผนที่สิ่งมหัศจรรย์กับโมเดลมุมมองของฉัน ในขณะที่ฉันไม่ได้มีฟังก์ชั่นเนื่องจากการทำแผนที่ function AppViewModel() { // ... leave firstName, lastName, and fullName unchanged here ... this.capitalizeLastName = function() { var currentVal = this.lastName(); // Read the current value this.lastName(currentVal.toUpperCase()); // Write back a modified value }; ฉันต้องการใช้ปลั๊กอินเช่นฉันต้องการสามารถย้อนกลับ observables ราวกับว่าผู้ใช้ยกเลิกการร้องขอฉันต้องการที่จะสามารถกลับไปที่ค่าสุดท้าย …

2
จะเขียนความคิดเห็นในมุมมอง Razor ได้อย่างไร?
วิธีเขียนความคิดเห็นในมุมมอง MVC ซึ่งจะไม่ถูกส่งไปยัง HTML สุดท้าย (เช่นเบราว์เซอร์เพื่อตอบกลับ) สามารถแสดงความคิดเห็นด้วย: <!--<a href="https://stackoverflow.com/">My comment</a> --> แต่สามารถมองเห็นได้ในซอร์สโค้ดของเพจในเบราว์เซอร์ เป็นไปได้ไหมที่จะแสดงความคิดเห็นในไฟล์ ".cshtml" สำหรับการใช้งานภายในเท่านั้น

6
รหัส EF ก่อน: ฉันจะดูคุณสมบัติ 'EntityValidationErrors' ได้จากคอนโซลแพคเกจ nuget ได้อย่างไร
ฉันกำลังแพ้เรื่องนี้: ฉันได้กำหนดคลาสของฉันสำหรับรหัสเอนทิตี Framework (4.1.3) วิธีแรก ทุกอย่างเรียบร้อย (ฉันสร้างตาราง ฯลฯ ) จนกระทั่งฉันเริ่ม Seed ตอนนี้เมื่อฉันทำ Add-Migration "remigrate" ; Update-Database; ฉันได้รับข้อผิดพลาดบนคอนโซลของแพคเกจ "การตรวจสอบล้มเหลวสำหรับเอนทิตี้อย่างน้อยหนึ่งรายการดูคุณสมบัติ 'EntityValidationErrors' สำหรับรายละเอียดเพิ่มเติม" ฉันมีจุดพักในวิธีการของฉัน Seed () แต่เนื่องจากฉันใช้สิ่งนี้บนคอนโซลเมื่อโปรเจ็กต์ไม่ทำงานฉัน clueless เป็นวิธีการรับรายละเอียด (PS - ฉันได้เห็นการตรวจสอบเธรดล้มเหลว สำหรับเอนทิตีหนึ่งแห่งหรือมากกว่าในขณะที่บันทึกการเปลี่ยนแปลงของฐานข้อมูลเซิร์ฟเวอร์ SQL โดยใช้ Entity Frameworkซึ่งแสดงวิธีที่ฉันสามารถดูคุณสมบัติได้) ฉันรู้ว่าวิธี Seed () ของฉันมีปัญหาเพราะถ้าฉันใส่คืนทันทีหลังจากการเรียกเมธอดข้อผิดพลาดจะหายไป ดังนั้นฉันจะตั้งค่าเบรกพอยต์ของฉันได้อย่างไรเพื่อดูว่าข้อผิดพลาดในการตรวจสอบคืออะไร คินหายไป หรือมีวิธีอื่นในการติดตามในคอนโซล nuget หรือไม่?

7
รับตัวควบคุมปัจจุบันในมุมมอง
ฉันมีView - _Editที่อาศัยอยู่News M/V/Cที่อาศัยอยู่ใน ฉันใช้ซ้ำV/Mผ่านทางCategoryControlleras: return PartialView("/Views/News/_Edit.cshtml", model); ฉันView - _Editจะแจ้งเตือนชื่อคอนโทรลเลอร์จากภายในได้อย่างไร? เมื่อฉัน: alert('@ViewContext. RouteData.Values["controller"].ToString()'); ค่าคือ: News อย่างไรก็ตาม URL คือ:/Category/foobar มีวิธีรับค่า'Category'เพื่อแจ้งเตือนหรือไม่? ขอบคุณ

9
การอัปเดต Windows ทำให้ MVC3 และ MVC4 หยุดทำงาน
ฉันเป็นคนเดียวที่ติดตั้ง Windows Update (8.1) ในวันที่ 15 ตุลาคมและ MVC หยุดทำงานเพราะคำเตือนนี้หรือไม่? คำเตือน 1 ไม่สามารถแก้ไขข้อมูลอ้างอิงนี้ ไม่พบแอสเซมบลี "System.Web.Mvc, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35, processorArchitecture = MSIL" ตรวจสอบให้แน่ใจว่ามีชุดประกอบอยู่บนดิสก์ หากรหัสของคุณต้องการการอ้างอิงนี้คุณอาจได้รับข้อผิดพลาดในการคอมไพล์ ดูเหมือนว่าการอัปเดต windows นี้จะติดตั้ง MVC เวอร์ชันใหม่ที่มีหมายเลขเวอร์ชัน 4.0.0.1 และลบเวอร์ชันเก่าออกจากโฟลเดอร์ไฟล์โปรแกรม มีใครทราบวิธีแก้ไขโดยไม่ต้องรวบรวมข้อมูลสำหรับแต่ละโครงการบ้าง

5
เปลี่ยนเส้นทางไปที่ Action ในคอนโทรลเลอร์อื่น
AccountControllerฉันมีสองตัวควบคุมทั้งที่เรียกว่า หนึ่งในนั้นให้เรียกว่าController Aอยู่ในการAreaโทรAdminและอีกอันให้เรียกว่าController Bไม่อยู่ในใด ๆArea(ฉันเดาว่านั่นหมายความว่าเป็นค่าเริ่มต้นArea?) Controller Bมียอดที่เรียกว่าaction method Loginฉันมีaction methodอินController Aซึ่งมีบรรทัดนี้ return RedirectToAction("LogIn", "Account"); ปัญหาคือฉันได้รับ404เมื่อบรรทัดนี้ถูกดำเนินการเนื่องจากมีความพยายามที่จะเปลี่ยนเส้นทางไปยังสิ่งที่ไม่มีอยู่actionในController A. ฉันต้องการที่จะเรียกในaction method Controller Bเป็นไปได้หรือไม่

9
Application_Error ไม่เริ่มทำงานเมื่อ customerrors =“ On”
ฉันมีรหัสในเหตุการณ์global.asaxของไฟล์Application_Errorซึ่งดำเนินการเมื่อมีข้อผิดพลาดเกิดขึ้นและส่งอีเมลรายละเอียดข้อผิดพลาดให้ตัวเอง void Application_Error(object sender, EventArgs e) { var error = Server.GetLastError(); if (error.Message != "Not Found") { // Send email here... } } สิ่งนี้ใช้ได้ดีเมื่อฉันเรียกใช้ใน Visual Studio อย่างไรก็ตามเมื่อฉันเผยแพร่ไปยังเซิร์ฟเวอร์สดของเราApplication_Errorเหตุการณ์จะไม่เริ่มทำงาน หลังจากการทดสอบบางครั้งฉันสามารถทำการApplication_Errorยิงได้เมื่อฉันตั้งค่าcustomErrors="Off"อย่างไรก็ตามการตั้งค่ากลับเพื่อcustomErrors="On"หยุดเหตุการณ์ไม่ให้เกิดขึ้นอีกครั้ง ใครช่วยแนะนำว่าทำไมถึงApplication_Errorไม่ยิงเมื่อcustomErrorsเปิดใช้งานในweb.config?

2
แปลง HttpPostedFileBase เป็นไบต์ []
ในแอปพลิเคชัน MVC ของฉันฉันใช้รหัสต่อไปนี้เพื่ออัปโหลดไฟล์ MODEL public HttpPostedFileBase File { get; set; } ดู @Html.TextBoxFor(m => m.File, new { type = "file" }) ทุกอย่างทำงานได้ดี .. แต่ฉันกำลังพยายามแปลงผลลัพธ์ fiel เป็น byte [] ฉันจะทำสิ่งนี้ได้อย่างไร CONTROLLER public ActionResult ManagePhotos(ManagePhotos model) { if (ModelState.IsValid) { byte[] image = model.File; //Its not working .How can convert this to …

9
ไม่พบเมธอด: '!! 0 [] System.Array.Empty ()'
ฉันสร้างแอปใหม่ด้วย VS 2015 RC และเทมเพลต MVC และไม่ได้แก้ไขโค้ดบรรทัดใด ๆ ฉันมีข้อผิดพลาดนี้: Method not found: '!!0[] System.Array.Empty()'. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.MissingMethodException: Method not …

4
คำขอเกิน maxQueryStringLength ที่กำหนดไว้เมื่อใช้ [Authorize]
ฉันมีไซต์ MVC3 ใน C # ฉันมีมุมมองเฉพาะที่ถูกป้อนพารามิเตอร์การสืบค้นจากฟังก์ชัน JavaScript ฟังก์ชันจะเปลี่ยนเส้นทางไปยังไซต์ผ่าน window.location.href = "../ActionName?" + query_string; query_string เป็นสตริงพารามิเตอร์เคียวรีแบบไดนามิกที่สร้างโดยฟังก์ชัน JavaScript สาเหตุของความแปลกนี้คือบางครั้งฟังก์ชันเดียวกันจะส่ง URL ไปยังเว็บฟอร์ม ASP.Net เนื่องจากต้องใช้ตัวควบคุมReportviewerการดำเนินการทางเลือกคือการบันทึกพารามิเตอร์บางตัวในกรณีนี้ที่ส่งผ่านไปยังมุมมอง (สามารถอธิบายเพิ่มเติมได้หากไม่สมเหตุสมผล) ทุกอย่างทำงานได้ดีจนกว่าฉันจะแนะนำ [Authorize] ให้กับวิธีการดำเนินการ หยุดทำงานถ้าอยู่ในสถานที่ทำงานได้ดีโดยไม่ต้องและ [Authorize] ทำงานได้ดีกับวิธีการอื่น ๆ ทั้งหมด URL ทั้งหมดในกรณีนี้มีความยาว 966 ตัวอักษรหลังจากการวิจัยดูเหมือนว่าค่าmaxQueryStringLengthคือ 2048 ตามค่าเริ่มต้น แต่สามารถแทนที่ค่าใดก็ได้ของประเภทจำนวนเต็มดังนั้นสำหรับการยิ้มฉันจึงเพิ่ม <security> <requestFiltering> <requestLimits maxQueryString="2048"></requestLimits> </requestFiltering> </security> คีย์ไปยังไฟล์กำหนดค่าเว็บภายใต้คีย์ ไม่มีความสุขที่นั่นฉันจึงไร้สาระและทำมันเป็น 4096 แต่ก็ยังไม่มีความสุข ขณะนี้ URL ทั้งหมดมีความยาว …

9
การใช้ส่วนขยาย MVC HtmlHelper จากมุมมองที่เปิดเผยของ Razor
ฉันพยายามสร้างตัวช่วยในการประกาศ Razor ในโฟลเดอร์ App_Code ของฉันสำหรับโครงการ MVC 3 RTM ปัญหาที่ฉันพบคือส่วนขยาย MVC HtmlHelper เช่น ActionLink ไม่พร้อมใช้งาน นี้เป็นเพราะผู้ช่วยรวบรวมมาจากSystem.Web.WebPages.HelperPageและแม้ว่ามันเสี่ยงHtmlคุณสมบัติของชนิดมากกว่าSystem.Web.WebPages.HtmlHelperSystem.Web.Mvc.HtmlHelper ตัวอย่างข้อผิดพลาดที่ฉันได้รับคือ: 'System.Web.Mvc.HtmlHelper' ไม่มีคำจำกัดความสำหรับ 'ActionLink' และไม่มีวิธีการขยาย 'ActionLink' ที่ยอมรับอาร์กิวเมนต์แรกของประเภท 'System.Web.Mvc.HtmlHelper' (คุณไม่มีคำสั่งโดยใช้ หรือการอ้างอิงการประกอบ?) ทางออกเดียวของฉันคือสร้าง HelperPage ของตัวเองและแทนที่คุณสมบัติ Html: using System.Web.WebPages; public class HelperPage : System.Web.WebPages.HelperPage { // Workaround - exposes the MVC HtmlHelper instead of the normal helper public …

10
Action Image MVC3 มีดโกน
วิธีที่ดีที่สุดในการแทนที่ลิงก์ด้วยรูปภาพโดยใช้ Razor ใน MVC3 คืออะไร ฉันเพิ่งทำสิ่งนี้ในขณะนี้: <a href="@Url.Action("Edit", new { id=MyId })"><img src="../../Content/Images/Image.bmp", alt="Edit" /></a> มีวิธีที่ดีกว่า?

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