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

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

17
ASP.NET MVC ActionLink และวิธีการโพสต์
ใครช่วยบอกฉันหน่อยว่าฉันจะส่งค่าไปยัง Controller โดยใช้ ActionLink และ POST ได้อย่างไร? ฉันไม่ต้องการใช้ปุ่มต่างๆ ฉันเดาว่ามันมีบางอย่างกับ jquery

12
ไม่พบ 'Microsoft.SqlServer.Types' เวอร์ชัน 10 หรือสูงกว่าบน Azure
ฉันกำลังพยายามสร้าง webapi ใน ASP.NET MVC 4 webapi ใช้ Entity Framework 5 Spatial types และฉันได้เขียนโค้ดง่ายๆ public List<Area> GetAllAreas() { List<Area> aList = db.Areas.ToList(); return aList; } พื้นที่มี DbGeometry เมื่อฉันเรียกใช้ท้องถิ่นนี้มันใช้งานได้ แต่เมื่อฉันเผยแพร่เป็นสีฟ้ามันทำให้ฉันเกิดข้อผิดพลาดนี้: ประเภทและฟังก์ชันเชิงพื้นที่ไม่พร้อมใช้งานสำหรับผู้ให้บริการรายนี้เนื่องจากไม่พบแอสเซมบลี 'Microsoft.SqlServer.Types' เวอร์ชัน 10 ขึ้นไป ใครทราบวิธีแก้ปัญหานี้ :) ขอบคุณ!

4
แนวทางปฏิบัติที่ดีที่สุดสำหรับบทบาทเทียบกับข้อเรียกร้องใน ASP.NET Identity
ผมใหม่ที่สมบูรณ์แบบที่จะใช้claimsในและต้องการที่จะได้รับความคิดของการปฏิบัติที่ดีที่สุดในการใช้งานของASP.NETIdentityRoles and/or Claims หลังจากอ่านทั้งหมดนี้ฉันยังคงมีคำถามเช่น ... ถาม: เราไม่ใช้ Roles อีกต่อไปหรือไม่? ถาม: ถ้าเป็นเช่นนั้นเหตุใดจึงยังคงเสนอบทบาท ถาม: เราควรใช้การอ้างสิทธิ์เท่านั้นหรือไม่ ถาม: เราควรใช้ Roles & Claims ร่วมกันหรือไม่? ความคิดเริ่มต้นของฉันคือเรา "ควร" ใช้ร่วมกัน ฉันเห็นClaimsว่าเป็นหมวดหมู่ย่อยที่Rolesพวกเขารองรับ สำหรับตัวอย่าง: บทบาท:การ อ้างสิทธิ์ทางบัญชี: CanUpdateLedger, CanOnlyReadLedger, CanDeleteFromLedger ถาม: พวกเขาตั้งใจที่จะใช้ร่วมกันหรือไม่? ถาม: หรือจะเป็นการดีกว่าที่จะอ้างสิทธิ์เท่านั้นและ "มีคุณสมบัติครบถ้วน" ที่คุณอ้างสิทธิ์ ถาม: แนวทางปฏิบัติที่ดีที่สุดคืออะไร ตัวอย่าง: การใช้ Roles & Claims ร่วมกัน แน่นอนคุณจะต้องเขียน Attribute logic ของคุณเองสำหรับสิ่งนี้ ... [Authorize(Roles="Accounting")] [ClaimAuthorize(Permission="CanUpdateLedger")] …

10
การตั้งค่าเส้นทางฐานโดยใช้ ConfigurationBuilder
ฉันกำลังพยายามกำหนดเส้นทางพื้นฐานของแอปพลิเคชันสำหรับเว็บแอป. Net ที่ฉันกำลังสร้าง ฉันได้รับข้อผิดพลาดในเครื่องมือสร้างการกำหนดค่า นี่คือข้อผิดพลาดที่ฉันได้รับ DNX,Version=v4.5.1 error CS1061: 'ConfigurationBuilder' does not contain a definition for 'SetBasePath' and no extension method 'SetBasePath' accepting a first argument of type 'ConfigurationBuilder' could be found (are you missing a using directive or an assembly reference?) ฉันสมมติว่าฉันจะได้รับข้อผิดพลาดเดียวกันสำหรับ.AddJsonFile()และ.AddEnvironmentVariables(). ฉันทำอะไรผิดหรือเปล่า? ฉันไม่ได้เพิ่มการอ้างอิงที่ถูกต้องให้กับ project.json ของฉันหรือไม่ ฉันได้แนบ startup.cs และ project.json …
98 c#  asp.net  json  asp.net-mvc 

6
ASP.NET MVC - ตรรกะทางธุรกิจควรมีอยู่ในคอนโทรลเลอร์หรือไม่
Derik Whitaker โพสต์บทความเมื่อสองสามวันก่อนซึ่งเป็นประเด็นที่ฉันสงสัยมาระยะหนึ่งแล้ว: ตรรกะทางธุรกิจควรมีอยู่ในคอนโทรลเลอร์หรือไม่? จนถึงตอนนี้การสาธิต ASP.NET MVC ทั้งหมดที่ฉันเคยเห็นใส่การเข้าถึงที่เก็บและตรรกะทางธุรกิจในคอนโทรลเลอร์ บางคนยังโยนการตรวจสอบความถูกต้องไว้ที่นั่นด้วย ส่งผลให้ตัวควบคุมป่องค่อนข้างใหญ่ นี่คือวิธีการใช้ MVC framework จริงๆหรือ? ดูเหมือนว่าสิ่งนี้จะจบลงด้วยรหัสและตรรกะที่ซ้ำกันจำนวนมากที่กระจายออกไปตามคอนโทรลเลอร์ต่างๆ

6
ASP.NET MVC Razor: วิธีการแสดง HTML ของ Razor Partial View ภายในการทำงานของคอนโทรลเลอร์
วิธีการสร้าง HTML ของมุมมองบางส่วนให้กับเครื่องยนต์มุมมอง ASP.NET เป็นที่รู้จักกัน แต่หากใช้ฟังก์ชันนี้ในมุมมองบางส่วนของมีดโกนจะไม่ทำงานเนื่องจากข้อยกเว้นกล่าวว่ามุมมองบางส่วนไม่ได้มาจาก "UserControl" จะแก้ไขการแสดงผลเพื่อรองรับมุมมองบางส่วนของมีดโกนได้อย่างไร? ฉันต้องการสิ่งนี้เพราะฉันสร้างอีเมลจากมุมมองบางส่วนนี้ ... อัพเดท: รหัสที่ล้มเหลว (@mcl): public string RenderPartialToString(string controlName, object viewData) { ViewPage viewPage = new ViewPage() { ViewContext = new ViewContext() }; viewPage.Url = this.GetUrlHelper(); string fullControlName = "~/Views/Email/" + controlName + ".ascx"; viewPage.ViewData = new ViewDataDictionary(viewData); viewPage.Controls.Add(viewPage.LoadControl(fullControlName)); StringBuilder sb = …
97 c#  asp.net-mvc  razor 

11
มีปัญหากับคอนโทรลเลอร์หลายตัวที่มีชื่อเดียวกันในโปรเจ็กต์ของฉัน
ฉันพบข้อผิดพลาดต่อไปนี้กับโครงการ ASP.NET MVC 3 ของฉัน: พบหลายประเภทที่ตรงกับคอนโทรลเลอร์ชื่อ 'Home' กรณีนี้อาจเกิดขึ้นได้หากเส้นทางที่ให้บริการคำขอนี้ ("Home / {action} / {id}") ไม่ได้ระบุเนมสเปซเพื่อค้นหาตัวควบคุมที่ตรงกับคำขอ ในกรณีนี้ให้ลงทะเบียนเส้นทางนี้โดยเรียกใช้เมธอด 'MapRoute' ที่โอเวอร์โหลดซึ่งใช้พารามิเตอร์ 'เนมสเปซ' คำขอสำหรับ 'Home' พบตัวควบคุมที่ตรงกันดังต่อไปนี้: MyCompany.MyProject.WebMvc.Controllers.HomeController MyCompany.MyProject.WebMvc.Areas.Company.Controllers.HomeController ฉันมี HomeController ในโฟลเดอร์ตัวควบคุมเริ่มต้นของฉันโดยมีชื่อคลาสเป็น MyCompany.MyProject.WebMvc.Controllers.HomeController เมธอด RegisterRoutes ของฉันใน global.asax ของฉันดูเหมือนว่า: public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new …

21
ไม่สามารถโหลดงาน BuildTasks.Csc จากแอสเซมบลี?
ฉันรู้สึกผิดที่ถามคำถามแบบนี้ที่นี่ แต่ฉันรู้สึกไม่ดีและขอขอบคุณสำหรับความช่วยเหลือ การพิสูจน์แนวคิดเช่นเว็บแอปพลิเคชันถูกสร้างขึ้นบนพีซีเครื่องหนึ่งและวางไว้บน repo เพื่อดาวน์โหลดบนพีซีเครื่องอื่นในสถานที่อื่น เดิมมีการตั้งค่าคุณลักษณะสร้างอัตโนมัติโดยที่ Azure จะสร้างและเผยแพร่โดยอัตโนมัติเมื่อเช็คอิน แต่จะถูกลบออกไป สิ่งต่าง ๆ กำลังดำเนินการทั้งสองด้านจนกระทั่งด้านหนึ่งมีการเปลี่ยนแปลงที่ยกเว้นจำนวนมาก ตอนนี้ฉันพบข้อผิดพลาดต่อไปนี้: ไม่สามารถ โหลดงาน "Microsoft.CodeAnalysis.BuildTasks.Csc" จากแอสเซมบลี ... \ package \ Microsoft.Net.Compilers.1.0.0 \ build .. \ tools \ Microsoft.Build.Tasks.CodeAnalysis.dll ไม่สามารถโหลดไฟล์หรือไฟล์แอสเซมบลี 'file: /// ... \ package \ Microsoft.Net.Compilers.1.0.0 \ tools \ Microsoft.Build.Tasks.CodeAnalysis.dll' หรือการอ้างอิงอย่างใดอย่างหนึ่ง ระบบไม่พบแฟ้มที่ระบุ. ยืนยันว่าการประกาศนั้นถูกต้องแอสเซมบลีและการอ้างอิงทั้งหมดพร้อมใช้งานและงานมีคลาสสาธารณะที่ใช้ Microsoft.Build.Framework.ITask ใครมีคำแนะนำว่าจะเริ่มค้นหาปัญหาได้ที่ไหน?

6
การต่อมีดโกน ASP.NET MVC
ฉันกำลังลองแสดงรายการ HTML ที่มีลักษณะดังต่อไปนี้โดยใช้ Razor view engine: <ul> <li id="item_1">Item 1</li> <li id="item_2">Item 2</li> </ul> รหัสที่ฉันพยายามใช้เพื่อแสดงรายการนี้คือ: <ul> @foreach (var item in Model.TheItems) { <li id="item_@item.TheItemId">Item @item.TheItemId</li> } </ul> ตัวแยกวิเคราะห์กำลังสำลักเพราะคิดว่าทุกอย่างทางขวาของขีดล่างในแอตทริบิวต์ id เป็นข้อความธรรมดาและไม่ควรแยกวิเคราะห์ ฉันไม่แน่ใจว่าจะสั่งให้ parser แสดงผล TheItemId ได้อย่างไร ฉันไม่ต้องการ แต่คุณสมบัติบนวัตถุโมเดลที่มีคำนำหน้า item_ ฉันต้องเก็บไวยากรณ์นี้ไว้ด้วยขณะที่ฉันใช้รายการกับ JQuery Sortable และด้วยฟังก์ชัน serialize ที่ต้องใช้แอตทริบิวต์ id เพื่อจัดรูปแบบในไวยากรณ์นี้

5
ASP.NET MVC คำขอที่อาจเป็นอันตรายตรวจพบค่าแบบฟอร์มจากไคลเอนต์เมื่อใช้ modelbinder ที่กำหนดเอง
รับข้อผิดพลาดที่นี่: ValueProviderResult value = bindingContext.ValueProvider.GetValue("ConfirmationMessage"); ฉันจะอนุญาตเฉพาะค่าที่เลือกได้อย่างไร กล่าวคือ [ValidateInput(false)] public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { ValueProviderResult value = bindingContext.ValueProvider.GetValue("ConfirmationMessage"); ValueProviderResult value2 = bindingContext.ValueProvider.GetValue("ConfirmationMessage2"); }

8
วิธีการตั้งค่าคุณสมบัติ ViewBag สำหรับมุมมองทั้งหมดโดยไม่ใช้คลาสพื้นฐานสำหรับคอนโทรลเลอร์
ในอดีตฉันติดคุณสมบัติทั่วไปเช่นผู้ใช้ปัจจุบันเข้ากับ ViewData / ViewBag ในรูปแบบสากลโดยให้ตัวควบคุมทั้งหมดสืบทอดจากคอนโทรลเลอร์พื้นฐานทั่วไป สิ่งนี้ทำให้ฉันสามารถใช้ IoC บนคอนโทรลเลอร์พื้นฐานและไม่เพียงแค่เข้าถึงข้อมูลที่แชร์ทั่วโลกเท่านั้น ฉันสงสัยว่ามีวิธีอื่นในการแทรกรหัสประเภทนี้ในท่อ MVC หรือไม่?

6
วิธีลบข้อผิดพลาดเกี่ยวกับ glyphicons-halflings-regular.woff2 ไม่พบ
แอปพลิเคชัน ASP.NET MVC4 Bootstrap 3 กำลังทำงานจาก Microsoft Visual Studio Express 2013 สำหรับ Web IDE คอนโซล Chrome แสดงข้อผิดพลาดเสมอ http://localhost:52216/admin/fonts/glyphicons-halflings-regular.woff2 Failed to load resource: the server responded with a status of 404 (Not Found) ไฟล์นี้มีอยู่ในไดเร็กทอรีฟอนต์ใน Solution Explorer การดำเนินการสร้างถูกตั้งค่าเป็น "เนื้อหา" และไดเร็กทอรีคัดลอกไปยังเอาต์พุตคือ "ห้ามคัดลอกเหมือนในไฟล์ฟอนต์อื่น ๆ " Bootstrap 3 ถูกเพิ่มเข้าไปในโซลูชันโดยใช้ NuGet จะแก้ไขอย่างไรไม่ให้เกิดข้อผิดพลาดนี้ แอปพลิเคชันแสดงไอคอน Glyphicon และ FontAwesome …

8
ASP.NET MVC - TempData - การปฏิบัติที่ดีหรือไม่ดี
ฉันใช้AcceptVerbsวิธีการที่มีรายละเอียดในบล็อกโพสต์ Preview 5 ของ Scott Gu เพื่อจัดการกับรายการแบบฟอร์มใน ASP.NET MVC: ผู้ใช้ได้รับแบบฟอร์มเปล่าผ่าน GET ผู้ใช้โพสต์แบบฟอร์มที่กรอกผ่าน POST ไปยัง Action เดียวกัน การดำเนินการตรวจสอบความถูกต้องของข้อมูลดำเนินการที่เหมาะสมและเปลี่ยนเส้นทางไปยังมุมมองใหม่ เลยไม่ต้องใช้TempData. ที่กล่าวว่าตอนนี้ฉันต้องเพิ่มขั้นตอน 'ยืนยัน' ในกระบวนการนี้และดูเหมือนว่าจะต้องใช้TempDataไฟล์. ด้วยเหตุผลบางอย่างฉันไม่ชอบใช้TempData- มันเป็นสิ่งที่ต้องออกแบบมา นี่เป็นข้อกังวลที่ถูกต้องหรือฉันกำลังทำมันขึ้นมา?

4
วิธีเปลี่ยนเส้นทางไปยัง URL ล็อกอินแบบไดนามิกใน ASP.NET MVC
ฉันกำลังสร้างเว็บไซต์สำหรับผู้เช่าหลายรายซึ่งโฮสต์เพจสำหรับลูกค้า ส่วนแรกของ URL จะเป็นสตริงที่ระบุไคลเอ็นต์ซึ่งกำหนดไว้ใน Global.asax โดยใช้โครงร่างการกำหนดเส้นทาง URL ต่อไปนี้: "{client}/{controller}/{action}/{id}" ใช้งานได้ดีกับ URL เช่น / foo / Home / Index อย่างไรก็ตามเมื่อใช้แอตทริบิวต์ [Authorize] ฉันต้องการเปลี่ยนเส้นทางไปยังหน้าการเข้าสู่ระบบซึ่งใช้รูปแบบการแมปเดียวกันด้วย ดังนั้นหากลูกค้าเป็น foo หน้าล็อกอินจะเป็น / foo / Account / Login แทนการเปลี่ยนเส้นทางคงที่ / Account / Login ที่กำหนดไว้ใน web.config MVC ใช้ HttpUnauthorizedResult เพื่อส่งคืนสถานะ 401 ที่ไม่ได้รับอนุญาตซึ่งฉันคิดว่าเป็นสาเหตุให้ ASP.NET เปลี่ยนเส้นทางไปยังหน้าที่กำหนดใน web.config ไม่มีใครรู้วิธีการแทนที่พฤติกรรมการเปลี่ยนเส้นทางการเข้าสู่ระบบ ASP.NET? หรือจะดีกว่าถ้าเปลี่ยนเส้นทางใน MVC …

7
ASP MVC href ไปยังคอนโทรลเลอร์ / มุมมอง
ฉันมีสิ่งนี้: <li><a href="/Users/Index)" class="elements"><span>Clients</span></a></li> ซึ่งใช้งานได้ดี แต่ถ้าฉันทำไปแล้วในหน้านี้หรือบนเช่นการควบคุมและฉันคลิกที่ลิงค์นี้เปลี่ยนเส้นทางให้ฉันไป/Users/Details/Users/Index ฉันจะหาเส้นทางที่ถูกต้องhrefโดยไม่คำนึงถึงตำแหน่งปัจจุบันของฉันบนไซต์ได้อย่างไร

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