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

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

9
อนุญาตให้หลายบทบาทเข้าถึงแอ็คชันคอนโทรลเลอร์
ตอนนี้ฉันตกแต่งวิธีเช่นนี้เพื่ออนุญาตให้ "สมาชิก" เข้าถึงการกระทำของตัวควบคุมของฉัน [Authorize(Roles="members")] ฉันจะอนุญาตให้มีมากกว่าหนึ่งบทบาทได้อย่างไร ตัวอย่างต่อไปนี้ใช้ไม่ได้ แต่แสดงให้เห็นว่าฉันพยายามทำอะไร (อนุญาตให้เข้าถึง "สมาชิก" และ "ผู้ดูแลระบบ"): [Authorize(Roles="members", "admin")]

20
วันที่เท่านั้นจาก TextBoxFor ()
ฉันมีปัญหาในการแสดงเฉพาะวันที่ส่วนหนึ่งของ DateTime ลงในกล่องข้อความโดยใช้ TextBoxFor <,> (นิพจน์, htmlAttributes) โมเดลนี้ใช้ Linq2SQL ฟิลด์เป็น DateTime บน SQL และในโมเดล Entity ล้มเหลว: <%= Html.TextBoxFor(model => model.dtArrivalDate, String.Format("{0:dd/MM/yyyy}", Model.dtArrivalDate))%> เคล็ดลับนี้ดูเหมือนว่าจะคิดค่าเสื่อมราคาค่าสตริงใด ๆ ในวัตถุ htmlAttribute จะถูกละเว้น ล้มเหลว: [DisplayFormat( DataFormatString = "{0:dd/MM/yyyy}" )] public string dtArrivalDate { get; set; } ฉันต้องการจัดเก็บและแสดงเฉพาะส่วนวันที่ในมุมมองรายละเอียด / แก้ไขโดยไม่มีส่วน "00:00:00"
271 asp.net-mvc 

5
เมื่อใดที่ฉันควรใช้ OWIN Katana
ฉันใหม่สำหรับ OWIN และ Katana ฉันไม่เข้าใจว่าทำไมฉันจึงควรใช้ OWIN ในขณะที่ฉันสามารถIISใช้ได้ เพื่อให้ง่ายขึ้นคำถามของฉันคือ: ฉันจะเสียอะไรถ้าฉันข้ามการเรียนรู้ OWIN และใช้ IIS สำหรับเว็บไซต์ของฉัน ฉัน googled แต่ไม่มีคำอธิบายง่ายๆ มีข้อมูลบางส่วนอยู่ที่นี่แต่พวกเขาใช้วลีศัพท์แสงบางคำดังนั้นฉันจึงไม่เข้าใจ

20
วิธีรับผู้ใช้ปัจจุบันใน ASP.NET MVC
ในแบบฟอร์มฉันใช้เพื่อรับผู้ใช้ที่เข้าสู่ระบบในปัจจุบันโดย: Page.CurrentUser ฉันจะรับผู้ใช้ปัจจุบันภายในคลาสคอนโทรลเลอร์ใน ASP.NET MVC ได้อย่างไร

7
เหตุใด AuthorizeAttribute จึงเปลี่ยนเส้นทางไปที่หน้าเข้าสู่ระบบเพื่อตรวจสอบสิทธิ์และล้มเหลว
ใน ASP.NET MVC คุณสามารถทำเครื่องหมายวิธีควบคุมด้วยAuthorizeAttributeเช่น: [Authorize(Roles = "CanDeleteTags")] public void Delete(string tagName) { // ... } ซึ่งหมายความว่าหากผู้ใช้ที่เข้าสู่ระบบในปัจจุบันไม่ได้อยู่ในบทบาท "CanDeleteTags" วิธีการควบคุมจะไม่ถูกเรียก น่าเสียดายสำหรับความล้มเหลวAuthorizeAttributeจะส่งคืนHttpUnauthorizedResultซึ่งจะส่งคืนรหัสสถานะ HTTP 401 เสมอซึ่งจะทำให้การเปลี่ยนเส้นทางไปยังหน้าเข้าสู่ระบบ หากผู้ใช้ไม่ได้เข้าสู่ระบบนี่เหมาะสมอย่างยิ่ง อย่างไรก็ตามหากผู้ใช้เข้าสู่ระบบแล้วแต่ไม่ได้อยู่ในบทบาทที่ต้องการมันก็สับสนที่จะส่งพวกเขากลับไปที่หน้าเข้าสู่ระบบ ดูเหมือนว่าการAuthorizeAttributeพิสูจน์ตัวตนและการอนุญาต conflates ดูเหมือนว่าการกำกับดูแลใน ASP.NET MVC หรือฉันขาดอะไรไป? ฉันต้องทำอาหารDemandRoleAttributeที่แยกทั้งสอง เมื่อผู้ใช้ไม่ได้รับการรับรองความถูกต้องก็จะส่งคืน HTTP 401 ส่งไปยังหน้าเข้าสู่ระบบ เมื่อผู้ใช้เข้าสู่ระบบ แต่ไม่ได้อยู่ในบทบาทที่ต้องการก็จะสร้างขึ้นNotAuthorizedResultแทน ปัจจุบันนี้เปลี่ยนเส้นทางไปยังหน้าข้อผิดพลาด แน่นอนฉันไม่ต้องทำเช่นนี้?

8
ใช้ Ajax.BeginForm กับ ASP.NET MVC 3 Razor
มีตัวอย่างบทช่วยสอนหรือโค้ดของการใช้งานAjax.BeginFormภายใน Asp.net MVC 3 ที่มีการตรวจสอบความถูกต้องไม่รบกวนและ Ajax หรือไม่? นี่เป็นหัวข้อที่เข้าใจยากสำหรับ MVC 3 และฉันไม่สามารถทำให้แบบฟอร์มทำงานได้อย่างถูกต้อง มันจะทำการส่ง Ajax แต่จะละเว้นข้อผิดพลาดในการตรวจสอบความถูกต้อง

10
แสดงบางส่วนจากโฟลเดอร์อื่น (ไม่แชร์)
ฉันจะให้มุมมองแสดงบางส่วน (การควบคุมผู้ใช้) จากโฟลเดอร์อื่นได้อย่างไร ด้วยภาพตัวอย่างที่ 3 ฉันเคยโทร RenderUserControl ด้วยเส้นทางที่สมบูรณ์ แต่ไม่สามารถอัปเกรดเป็นตัวอย่าง 5 ได้อีกต่อไป แต่เราได้รับ RenderPartial แต่มันไม่ได้ให้ฟังก์ชั่นที่ฉันกำลังมองหา

9
ให้บริการ favicon.ico ใน ASP.NET MVC
คำแนะนำสุดท้าย / ดีที่สุดสำหรับวิธีการให้บริการ favicon.ico ใน ASP.NET MVC คืออะไร? ฉันกำลังทำสิ่งต่อไปนี้: การเพิ่มรายการให้กับจุดเริ่มต้นของวิธี RegisterRoutes ของฉัน: routes.IgnoreRoute("favicon.ico"); วาง favicon.ico ในรูทของแอปพลิเคชันของฉัน (ซึ่งจะเป็นรูทของโดเมนของฉันด้วย) ฉันมีสองคำถาม: ไม่มีวิธีใดที่จะนำ favicon.ico ไปไว้ที่อื่นนอกเหนือจากรูทของใบสมัครของฉัน มันสวยเหนอะเป็นสิทธิที่มีอยู่ในระดับเดียวกับและContentControllers นี่คือIgnoreRoute("favicon.ico")คำสั่งที่เพียงพอ - หรือฉันควรทำอย่างไรต่อไปตามที่กล่าวไว้ในบล็อกโพสต์จากฟิล Haack ฉันไม่ทราบว่าเคยเห็นคำขอ favicon.ico ในไดเรกทอรีใด ๆ นอกเหนือจากรูทซึ่งจะทำให้สิ่งนี้ไม่จำเป็น (แต่เป็นการดีที่จะรู้ว่าต้องทำอย่างไร) routes.IgnoreRoute("{*favicon}", new {favicon=@"(.*/)?favicon.ico(/.*)?"});

19
โครงการทดสอบ NUnit กับ Visual Studio 2008 สำหรับการทดสอบหน่วย? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องการอภิปรายการโต้แย้งการหยั่งเสียงหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันจะเริ่มโครงการใหม่ในที่ทำงานและต้องการเข้าทดสอบหน่วย เราจะใช้ VS 2008, C # และ ASP.NET MVC ฉันกำลังมองหาการใช้ NUnit หรือโครงการทดสอบในตัวที่ VS2008 มี แต่ฉันเปิดให้ทำการค้นคว้าคำแนะนำอื่น ๆ ระบบหนึ่งดีกว่าระบบอื่นหรืออาจจะใช้ / เข้าใจง่ายกว่าระบบอื่นหรือไม่? ฉันกำลังมองหาการตั้งค่าโครงการนี้เป็น "แนวปฏิบัติที่ดีที่สุด" สำหรับความพยายามในการพัฒนาของเราในอนาคต ขอบคุณสำหรับความช่วยเหลือและคำแนะนำใด ๆ !!

14
วิธีแคชข้อมูลในแอปพลิเคชัน MVC
ฉันได้อ่านข้อมูลมากมายเกี่ยวกับการแคชหน้าและการแคชหน้าบางส่วนในแอปพลิเคชัน MVC อย่างไรก็ตามฉันต้องการทราบว่าคุณจะแคชข้อมูลอย่างไร ในสถานการณ์ของฉันฉันจะใช้ LINQ กับเอนทิตี (กรอบงานเอนทิตี) ในการเรียกใช้ GetNames ครั้งแรก (หรือวิธีการใด ๆ ก็ตาม) ฉันต้องการดึงข้อมูลจากฐานข้อมูล ฉันต้องการบันทึกผลลัพธ์ในแคชและในการโทรครั้งที่สองเพื่อใช้เวอร์ชันแคชหากมีอยู่ ทุกคนสามารถแสดงตัวอย่างของวิธีการนี้จะทำงานได้อย่างไรซึ่งควรจะนำไปใช้ (แบบจำลอง) และถ้ามันจะทำงาน ฉันเคยเห็นสิ่งนี้ทำในแอป ASP.NET แบบดั้งเดิมซึ่งโดยทั่วไปจะเป็นข้อมูลที่นิ่งมาก


10
วิธี HTML.ActionLink
สมมติว่าฉันมีชั้นเรียน public class ItemController:Controller { public ActionResult Login(int id) { return View("Hi", id); } } ในหน้าเว็บที่ไม่ได้อยู่ที่โฟลเดอร์รายการที่ItemControllerอยู่ฉันต้องการสร้างลิงค์ไปยังLoginวิธีการ ดังนั้นHtml.ActionLinkฉันควรใช้วิธีใดและฉันควรผ่านพารามิเตอร์ใด โดยเฉพาะฉันกำลังมองหาวิธีการเปลี่ยน Html.ActionLink(article.Title, new { controller = "Articles", action = "Details", id = article.ArticleID }) ที่ถูกยกเลิกในการแปลง MVC แบบ ASP.NET ล่าสุด

5
การอัปโหลดไฟล์ MVC 4 มีดโกน
ฉันยังใหม่กับ MVC 4 และฉันพยายามใช้การควบคุมการอัปโหลดไฟล์ในเว็บไซต์ของฉัน ฉันไม่พบข้อผิดพลาดฉันได้รับค่า Null ในไฟล์ของฉัน ควบคุม: public class UploadController : BaseController { public ActionResult UploadDocument() { return View(); } [HttpPost] public ActionResult Upload(HttpPostedFileBase file) { if (file != null && file.ContentLength > 0) { var fileName = Path.GetFileName(file.FileName); var path = Path.Combine(Server.MapPath("~/Images/"), fileName); file.SaveAs(path); } return RedirectToAction("UploadDocument"); } …

7
แสดงมุมมองจากคอนโทรลเลอร์อื่นใน ASP.NET MVC
เป็นไปได้หรือไม่ที่จะแสดงมุมมองจากคอนโทรลเลอร์อื่น? พูดเช่นฉันมีCategoriesControllerและCategory/NotFound.aspxมุมมอง ในขณะที่CategoriesControllerฉันสามารถกลับมาView("NotFound")อย่างง่ายดาย ตอนนี้บอกว่าฉันมีProductsControllerและการกระทำและดูเพื่อเพิ่มผลิตภัณฑ์ อย่างไรก็ตามการกระทำนี้ต้องการให้เรามีหมวดหมู่เพื่อเพิ่มผลิตภัณฑ์ ตัวอย่างเช่นProducts/Add/?catid=10. ถ้าฉันไม่สามารถค้นหาหมวดหมู่ตามcatidฉันต้องการแสดงNotFoundมุมมองจากตัวควบคุมหมวดหมู่แทนที่จะสร้างCategoryNotFoundมุมมองภายใต้ตัวควบคุมผลิตภัณฑ์ เป็นไปได้หรือฉันกำลังสร้างสิ่งต่าง ๆ ในทางที่ผิด? มีวิธีที่ดีในการทำเช่นนี้?

25
รูปแบบวันที่ ASP.NET MVC JsonResult
ฉันมีแอคชั่นคอนโทรลเลอร์ที่สามารถคืน JsonResult ของโมเดลของฉันได้อย่างมีประสิทธิภาพ ดังนั้นในวิธีการของฉันฉันมีดังนี้: return new JsonResult(myModel); วิธีนี้ใช้งานได้ดียกเว้นปัญหาเดียว มีคุณสมบัติวันที่ในโมเดลและดูเหมือนว่าจะถูกส่งคืนในผลลัพธ์ Json ดังนี้: "\/Date(1239018869048)\/" ฉันควรจะจัดการกับวันที่เพื่อให้พวกเขากลับมาในรูปแบบที่ฉันต้องการ? หรือฉันจะจัดการรูปแบบนี้ด้านบนในสคริปต์ได้อย่างไร

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