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

ASP.NET MVC Framework เป็นเฟรมเวิร์กแอปพลิเคชันเว็บแบบโอเพนซอร์ซและเครื่องมือที่ใช้โมเดลของโมเดล model-view-controller (MVC) ที่ปรับให้เหมาะกับเว็บแอ็พพลิเคชันและสร้างบนพื้นฐานเทคโนโลยี ASP.NET

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 …

6
วิธี RedirectToAction ใน ASP.NET MVC โดยไม่สูญเสียข้อมูลคำขอ
การใช้ ASP.NET MVC มีสถานการณ์ (เช่นการส่งแบบฟอร์ม) ที่อาจต้องใช้ไฟล์RedirectToAction. สถานการณ์ดังกล่าวอย่างหนึ่งคือเมื่อคุณพบข้อผิดพลาดในการตรวจสอบความถูกต้องหลังจากส่งแบบฟอร์มและจำเป็นต้องเปลี่ยนเส้นทางกลับไปที่แบบฟอร์ม แต่ต้องการให้ URL แสดง URL ของแบบฟอร์มไม่ใช่หน้าการดำเนินการที่ส่งไป เนื่องจากฉันต้องการให้แบบฟอร์มมีPOSTข้อมูล ed เดิมเพื่อความสะดวกของผู้ใช้และวัตถุประสงค์ในการตรวจสอบความถูกต้องฉันจะส่งข้อมูลผ่านทางRedirectToAction()? ถ้าฉันใช้พารามิเตอร์ viewData พารามิเตอร์ของฉันPOSTจะเปลี่ยนเป็นGETพารามิเตอร์
123 c#  asp.net-mvc 

13
วิธีตั้งค่าเส้นทางเริ่มต้น (ไปยังพื้นที่) ใน MVC
ตกลงเคยถามมาก่อนแล้ว แต่ไม่มีวิธีแก้ปัญหาที่ชัดเจน ดังนั้นเพื่อวัตถุประสงค์ของตัวเองและคนอื่น ๆ ที่อาจพบว่ามีประโยชน์ ใน MVC2 (ASP.NET) ฉันต้องการดังนั้นเมื่อมีคนไปที่เว็บไซต์จะมีการระบุพื้นที่เริ่มต้น ดังนั้นการนำทางไปยังไซต์ของฉันควรส่งคุณไปที่ ControllerX ActionY ใน AreaZ ใช้เส้นทางต่อไปนี้ใน Global.asax routes.MapRoute( "Area", "", new { area = "AreaZ", controller = "ControllerX ", action = "ActionY " } ); ตอนนี้ใช้งานได้เหมือนพยายามแสดงหน้าที่ถูกต้อง อย่างไรก็ตาม MVC ดำเนินการเพื่อค้นหา View ในรูทของไซต์และไม่อยู่ในโฟลเดอร์ Area มีวิธีแก้ไขปัญหานี้หรือไม่? แก้ไข มี 'โซลูชัน' และอยู่ใน ControllerX, ActionY ส่งคืนเส้นทางแบบเต็มของมุมมอง แฮ็คเล็กน้อย …


10
ฉันจะเปลี่ยนเส้นทางไปยังการดำเนินการก่อนหน้านี้ใน ASP.NET MVC ได้อย่างไร
สมมติว่าฉันมีบางหน้า some.web/articles/details/5 some.web/users/info/bob some.web/foo/bar/7 ที่สามารถเรียกตัวควบคุมยูทิลิตี้ทั่วไปเช่น locale/change/es หรือ authorization/login ฉันจะได้รับวิธีการเหล่านี้ ( change, login) เพื่อเปลี่ยนเส้นทางไปยังการกระทำก่อนหน้า ( details, info, bar) ในขณะที่การส่งผ่านพารามิเตอร์ก่อนหน้านี้พวกเขา ( 5, bob, 7)? กล่าวโดยย่อ: ฉันจะเปลี่ยนเส้นทางไปยังหน้าที่เพิ่งเข้าชมหลังจากดำเนินการในตัวควบคุมอื่นได้อย่างไร

19
ASP.NET MVC - การแนบเอนทิตีประเภท 'MODELNAME' ล้มเหลวเนื่องจากเอนทิตีอื่นประเภทเดียวกันมีค่าคีย์หลักเดียวกันอยู่แล้ว
สรุปได้ว่ามีข้อยกเว้นเกิดขึ้นระหว่างการโพสต์โมเดล wrapper และเปลี่ยนสถานะของรายการหนึ่งเป็น 'Modified' ก่อนที่จะเปลี่ยนสถานะสถานะจะถูกตั้งค่าเป็น 'แยกออก' แต่การเรียก Attach () จะทำให้เกิดข้อผิดพลาดเดียวกัน ฉันใช้ EF6 โปรดค้นหารหัสของฉันด้านล่าง (ชื่อรุ่นถูกเปลี่ยนเพื่อให้อ่านง่ายขึ้น) แบบ // Wrapper classes public class AViewModel { public A a { get; set; } public List<B> b { get; set; } public C c { get; set; } } ตัวควบคุม public ActionResult Edit(int? id) { …

15
MaxJsonLength ข้อยกเว้นใน ASP.NET MVC ระหว่าง JavaScriptSerializer
ในการดำเนินการควบคุมของฉันฉันกำลังส่งคืนขนาดใหญ่มากJsonResultเพื่อเติมเต็มตาราง ฉันได้รับInvalidOperationExceptionข้อยกเว้นต่อไปนี้: เกิดข้อผิดพลาดระหว่างการทำให้เป็นอนุกรมหรือการดีซีเรียลไลเซชันโดยใช้ JSON JavaScriptSerializer ความยาวของสตริงเกินค่าที่ตั้งไว้ในคุณสมบัติ maxJsonLength การตั้งค่าmaxJsonLengthคุณสมบัติweb.configเป็นค่าที่สูงขึ้นน่าเสียดายที่ไม่ได้แสดงผลใด ๆ <system.web.extensions> <scripting> <webServices> <jsonSerialization maxJsonLength="2147483644"/> </webServices> </scripting> </system.web.extensions> ฉันไม่ต้องการที่จะผ่านมันกลับเป็นสตริงที่กล่าวไว้ในนี้คำตอบ SO ในการวิจัยของฉันฉันเจอบล็อกโพสต์นี้ซึ่งแนะนำให้เขียนด้วยตัวเองActionResult(เช่นLargeJsonResult : JsonResult) เพื่อหลีกเลี่ยงพฤติกรรมนี้ นี่เป็นทางออกเดียวหรือไม่? นี่คือบั๊กใน ASP.NET MVC หรือไม่ ฉันพลาดอะไรไปรึเปล่า? ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมมากที่สุด

7
ปัญหาโทเค็นต่อต้านการปลอมแปลง (MVC 5)
ฉันมีปัญหากับโทเค็นต่อต้านการปลอมแปลง :( ฉันได้สร้างคลาส User ของตัวเองซึ่งใช้งานได้ดี แต่ตอนนี้ฉันได้รับข้อผิดพลาดทุกครั้งที่ฉันไปที่หน้า/ บัญชี / ลงทะเบียนข้อผิดพลาดคือ: การอ้างสิทธิ์ประเภท " http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier " หรือ " http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider " คือ ไม่มีอยู่ใน ClaimsIdentity ที่ระบุ หากต้องการเปิดใช้งานการสนับสนุนโทเค็นต่อต้านการปลอมแปลงด้วยการตรวจสอบสิทธิ์ตามการอ้างสิทธิ์โปรดตรวจสอบว่าผู้ให้บริการการอ้างสิทธิ์ที่กำหนดค่าไว้ให้การอ้างสิทธิ์ทั้งสองนี้ในอินสแตนซ์ ClaimsIdentity ที่สร้างขึ้น หากผู้ให้บริการการอ้างสิทธิ์ที่กำหนดค่าไว้ใช้ประเภทการอ้างสิทธิ์อื่นเป็นตัวระบุเฉพาะสามารถกำหนดค่าได้โดยการตั้งค่าคุณสมบัติคงที่ AntiForgeryConfig.UniqueClaimTypeIdentifier ฉันพบบทความนี้: http://stack247.wordpress.com/2013/02/22/antiforgerytoken-a-claim-of-type-nameidentifier-or-identityprovider-was-not-present-on-provided-claimsidentity/ ดังนั้นฉันจึงเปลี่ยนวิธีApplication_Startของฉันเป็น: protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); AntiForgeryConfig.UniqueClaimTypeIdentifier = ClaimTypes.Email; } แต่เมื่อฉันทำเช่นนั้นฉันได้รับข้อผิดพลาดนี้: ไม่มีการอ้างสิทธิ์ประเภท " http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress " ใน ClaimsIdentity ที่ระบุ มีใครเจอสิ่งนี้มาก่อนหรือไม่? …

8
ไม่รองรับการใช้ 'UseMvc' เพื่อกำหนดค่า MVC ขณะใช้ Endpoint Routing
ฉันมีโครงการ Asp.Net core 2.2 เมื่อเร็ว ๆ นี้ฉันเปลี่ยนเวอร์ชันจาก. net core 2.2 เป็น. net core 3.0 Preview 8 หลังจากการเปลี่ยนแปลงนี้ฉันเห็นข้อความเตือนนี้: ไม่รองรับการใช้ 'UseMvc' เพื่อกำหนดค่า MVC ขณะใช้ Endpoint Routing หากต้องการใช้ 'UseMvc' ต่อไปโปรดตั้งค่า 'MvcOptions.EnableEndpointRouting = false' ภายใน 'ConfigureServices' ฉันเข้าใจว่าการตั้งค่าEnableEndpointRoutingเป็นเท็จฉันสามารถแก้ปัญหาได้ แต่ฉันจำเป็นต้องรู้ว่าอะไรคือวิธีที่เหมาะสมในการแก้ปัญหาและเหตุใด Endpoint Routing จึงไม่จำเป็นต้องมีUseMvc()ฟังก์ชัน

21
Visual Studio 2015 ไม่เน้นไวยากรณ์ที่เน้นมีดโกนหรือ Intellisense
มุมมอง Razor ของฉันใน VS2015 RC ไม่แสดงสีที่เหมาะสมสำหรับรหัส C # โครงการของฉันทำงานได้ดีใน VS2013 แต่ไม่ใช่ในปี 2015 และไม่ได้ให้ Intellisense กับรหัส C # โซลูชันสร้างขึ้นและไซต์ทำงานได้ดี ฉันลองทำสิ่งต่อไปนี้แล้ว แต่ก็ไม่มีประโยชน์ ปิดใช้งานส่วนขยาย Visual Studio ทั้งหมด ลบ.suoไฟล์ของฉัน การลบโครงการและเพิ่มเข้าไปในโซลูชัน ฉันจะแก้ไขปัญหานี้ได้อย่างไร? ตัวอย่าง:

15
ASP.NET MVC RequireHttps ในการผลิตเท่านั้น
ฉันต้องการใช้RequireHttpsAttributeเพื่อป้องกันไม่ให้ส่งคำขอ HTTP ที่ไม่ปลอดภัยไปยังวิธีการดำเนินการ ค# [RequireHttps] //apply to all actions in controller public class SomeController { [RequireHttps] //apply to this action only public ActionResult SomeAction() { ... } } VB <RequireHttps()> _ Public Class SomeController <RequireHttps()> _ Public Function SomeAction() As ActionResult ... End Function End Class ขออภัยเซิร์ฟเวอร์การพัฒนา ASP.NET ไม่รองรับ HTTPS …

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 …

9
วิธีการแปลแอปพลิเคชัน ASP.NET MVC
แนวทางปฏิบัติที่ดีที่สุดในการแปลแอปพลิเคชัน ASP.NET MVC ของคุณคืออะไร ฉันต้องการครอบคลุมสองสถานการณ์: การปรับใช้แอปพลิเคชันเดียวใน IIS ซึ่งจะรองรับหลายภาษา การปรับใช้ภาษา / แอปพลิเคชันเดียว ในสถานการณ์แรกคุณควรใช้มุมมองแบบไหนเช่น ~ / View / EN, ~ / View / FI, ~ / View / SWE หรืออะไรที่แตกต่างออกไป? แล้วกรณีที่สองเพียงแค่กำหนดค่าตามแอปพลิเคชันผ่าน Web.config แล้วชี้ภาษาต่างๆเหล่านี้ไปยัง URL ที่ต่างกัน

11
อนุญาตให้ผู้ใช้ป้อน HTML ใน ASP.NET MVC - ValidateInput หรือ AllowHtml
ฉันจะอนุญาตให้ผู้ใช้ป้อน HTML ลงในช่องใดช่องหนึ่งโดยใช้ ASP.net MVC ได้อย่างไร ฉันมีรูปแบบยาวที่มีหลายช่องที่แมปกับวัตถุที่ซับซ้อนนี้ในคอนโทรลเลอร์ ฉันต้องการสร้างหนึ่งฟิลด์ (คำอธิบาย) อนุญาต HTML ซึ่งฉันจะเตรียมการสุขาภิบาลของตัวเองในภายหลัง

10
มุมมองบางส่วน ASP.NET MVC: คำนำหน้าชื่ออินพุต
สมมติว่าฉันมี ViewModel เช่น public class AnotherViewModel { public string Name { get; set; } } public class MyViewModel { public string Name { get; set; } public AnotherViewModel Child { get; set; } public AnotherViewModel Child2 { get; set; } } ในมุมมองฉันสามารถแสดงผลบางส่วนด้วย <% Html.RenderPartial("AnotherViewModelControl", Model.Child) %> ในบางส่วนฉันจะทำ <%= Html.TextBox("Name", Model.Name) …

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