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

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

6
จะวางไฟล์จาวาสคริปต์เฉพาะมุมมองในแอปพลิเคชัน ASP.NET MVC ได้ที่ไหน
ตำแหน่งที่ดีที่สุด (โฟลเดอร์ใด ฯลฯ ) ในการใส่ไฟล์จาวาสคริปต์เฉพาะมุมมองในแอปพลิเคชัน ASP.NET MVC คืออะไร เพื่อให้โครงการของฉันเป็นระเบียบฉันชอบที่จะวางไว้เคียงข้างกับไฟล์. aspx ของมุมมอง แต่ฉันไม่พบวิธีที่ดีในการอ้างอิงเมื่อทำเช่นนั้นโดยไม่เปิดเผย ~ / Views / การดำเนินการ / โครงสร้างโฟลเดอร์ การปล่อยให้รายละเอียดของโครงสร้างโฟลเดอร์นั้นรั่วไหลเป็นเรื่องเลวร้ายหรือไม่? อีกทางเลือกหนึ่งคือใส่ไว้ในโฟลเดอร์ ~ / Scripts หรือ ~ / Content แต่จะเป็นการระคายเคืองเล็กน้อยเพราะตอนนี้ฉันต้องกังวลเกี่ยวกับการขัดแย้งของชื่อไฟล์ มันเป็นการระคายเคืองที่ฉันสามารถเอาชนะได้หากเป็น "สิ่งที่ถูกต้อง"

3
วิธีใดที่ดีที่สุดในการเพิ่มตัวตรวจสอบความถูกต้องมากกว่า 0 บนฝั่งไคลเอ็นต์โดยใช้ MVC และคำอธิบายประกอบข้อมูล
ฉันต้องการอนุญาตให้ส่งแบบฟอร์มได้ก็ต่อเมื่อค่าในฟิลด์หนึ่ง ๆ มากกว่า 0 ฉันคิดว่าแอตทริบิวต์ Mvc Range อาจอนุญาตให้ฉันป้อนเพียง 1 ค่าเพื่อแสดงว่ามีค่ามากกว่าการทดสอบเท่านั้น แต่ ไม่มีโชคเพราะยืนยันค่าต่ำสุดและสูงสุด ความคิดใด ๆ ที่สามารถทำได้?

4
Html.RenderPartial () ไวยากรณ์ด้วย Razor
ใช้งานได้เนื่องจากส่งคืนผลลัพธ์ของการแสดงผลมุมมองบางส่วนในสตริง: @Html.Partial("Path/to/my/partial/view") แต่ฉันชอบใช้RenderPartialและดูเหมือนว่าฉันต้องเขียน: @{Html.RenderPartial("Path/to/my/partial/view");} แทน: @Html.RenderPartial("Path/to/my/partial/view"); เพื่อให้มันใช้งานได้ ข้อความผิดพลาด: Compiler Error Message: CS1502: The best overloaded method match for 'System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)' has some invalid arguments หากมีวิธีใดที่ดีกว่าแทนที่จะเปิดบล็อกรหัส@{...}สำหรับการเรียกวิธีเดียว?

7
มุมมองมีอยู่ใน ASP.NET MVC หรือไม่
เป็นไปได้หรือไม่ที่จะระบุว่ามีชื่อมุมมองเฉพาะจากภายในคอนโทรลเลอร์ก่อนที่จะแสดงผลมุมมองหรือไม่ ฉันมีข้อกำหนดในการกำหนดชื่อของมุมมองที่จะแสดงผลแบบไดนามิก หากมีข้อมูลพร็อพเพอร์ตี้ที่มีชื่อนั้นอยู่ฉันจำเป็นต้องแสดงผลมุมมองนั้น หากไม่มีมุมมองตามชื่อที่กำหนดเองฉันจำเป็นต้องแสดงมุมมองเริ่มต้น ฉันต้องการทำสิ่งที่คล้ายกับโค้ดต่อไปนี้ภายในคอนโทรลเลอร์ของฉัน: public ActionResult Index() { var name = SomeMethodToGetViewName(); // The 'ViewExists' method is what I've been unable to find. if (ViewExists(name)) { retun View(name); } else { return View(); } }


12
ข้อผิดพลาด "ขาดสมาชิกที่ต้องการคอมไพเลอร์" ถูกส่งหลายครั้งโดยแทบไม่มีการเปลี่ยนแปลงโค้ด
วันนี้หลังจากปรับใช้การเปลี่ยนแปลงบางอย่างกับไซต์ C # MVC ที่ฉันเรียกใช้ฉันก็กลับไปทำการแก้ไขเพิ่มเติมและพบข้อผิดพลาดนี้: ไม่มีสมาชิกที่ต้องการคอมไพเลอร์ System.Runtime.CompilerServices.ExtensionAttribute..ctor ข้อผิดพลาดค่อนข้างคลุมเครือ (นอกเหนือจากคำอธิบายอย่างชัดเจน) เนื่องจากไม่ได้ให้ไฟล์บรรทัดหรือคอลัมน์เพื่ออ้างอิงเฉพาะโครงการเท่านั้น นอกจากนี้ยังแสดงข้อผิดพลาดทั้งหมด 20 ครั้ง ฉันทำการเปลี่ยนแปลงโค้ดเพียงสามครั้งระหว่างเวลาที่ใช้งาน (ตอนนั้นใช้งานได้อย่างสมบูรณ์) และตอนนี้ ฉันคืนค่าการเปลี่ยนแปลงของฉันและยังคงแสดงข้อผิดพลาดเดิมซึ่งไม่สมเหตุสมผลกับฉัน ฉันไม่พบข้อมูลมากมายเกี่ยวกับข้อผิดพลาดนี้ใน SO หรือ Google นอกเหนือจากวิธีแก้ปัญหานี้และการอ้างอิงสองสามข้อเกี่ยวกับข้อผิดพลาดของโครงการ Mono (ฉันไม่ได้ใช้ Mono) วิธีแก้ปัญหาที่คนที่แต่งตัวประหลาดให้ข้างต้นต้องเพิ่มนิยามคลาสที่จะอนุญาตให้คอมไพเลอร์แก้ไขการอ้างอิง ฉันไม่ต้องการทำสิ่งนี้เป็นพิเศษเพราะฉันไม่จำเป็นต้องทำจนถึงจุดนี้และมันจะทำให้รหัสของฉันยุ่งเหยิง แค่อยากรู้ว่ามีใครเคยเจอเรื่องนี้มาก่อน ขอบคุณล่วงหน้า!
95 c#  asp.net-mvc 

6
ความแตกต่างระหว่าง ViewData และ TempData?
ฉันรู้ว่า ViewData คืออะไรและใช้ตลอดเวลา แต่ใน ASP.NET Preview 5 พวกเขาได้แนะนำสิ่งใหม่ที่เรียกว่า TempData โดยปกติฉันจะพิมพ์ ViewData ของฉันอย่างรุนแรงแทนที่จะใช้วิธีการพจนานุกรมของวัตถุ ดังนั้นฉันควรใช้ TempData แทน ViewData เมื่อใด มีแนวทางปฏิบัติที่ดีที่สุดสำหรับสิ่งนี้หรือไม่?

1
บริบท DB หลายรายการในฐานข้อมูลและแอปพลิเคชันเดียวกันใน EF 6 และ Code First Migrations
ฉันเพิ่งเริ่มใช้ Entity Framework ฉันกำลังพยายามตั้งค่าแอปพลิเคชัน MVC ที่ใช้ EF 6 ฉันใช้ Code First Migrations ฉันใช้ Areas ในแอปและต้องการให้ DbContexts แตกต่างกันในแต่ละพื้นที่เพื่อแยกมันออก ฉันรู้ว่า EF 6 มี ContextKey แต่ฉันไม่พบข้อมูลทั้งหมดเกี่ยวกับวิธีใช้ ขณะนี้ฉันสามารถใช้การย้ายข้อมูลได้ทีละบริบทเท่านั้น ใครช่วยยกตัวอย่างที่มีรายละเอียดเพียงพอให้คนใหม่ EF อย่างฉันเข้าใจและนำไปใช้ได้


12
วิธีการแบน ExpandoObject ที่ส่งคืนผ่าน JsonResult ใน asp.net mvc
ฉันชอบในExpandoObjectขณะที่รวบรวมวัตถุไดนามิกฝั่งเซิร์ฟเวอร์ที่รันไทม์ แต่ฉันมีปัญหาในการทำให้สิ่งนี้แบนลงในระหว่างการจัดลำดับ JSON ก่อนอื่นฉันสร้างอินสแตนซ์ของวัตถุ: dynamic expando = new ExpandoObject(); var d = expando as IDictionary<string, object>; expando.Add("SomeProp", SomeValueOrClass); จนถึงตอนนี้ดีมาก ในตัวควบคุม MVC ของฉันฉันต้องการส่งสิ่งนี้เป็น JsonResult ดังนั้นฉันจึงทำสิ่งนี้: return new JsonResult(expando); สิ่งนี้จะทำให้ JSON เป็นอนุกรมตามด้านล่างเพื่อให้เบราว์เซอร์ใช้: [{"Key":"SomeProp", "Value": SomeValueOrClass}] แต่สิ่งที่ฉันต้องการจริงๆคือเห็นสิ่งนี้: {SomeProp: SomeValueOrClass} ฉันรู้ว่าฉันสามารถบรรลุสิ่งนี้ได้ถ้าฉันใช้dynamicแทนExpandoObject- JsonResultสามารถทำให้dynamicคุณสมบัติและค่าเป็นอนุกรมเป็นออบเจ็กต์เดียว (โดยไม่มีธุรกิจคีย์หรือมูลค่า) แต่เหตุผลที่ฉันต้องใช้ExpandoObjectเพราะฉันไม่รู้ทั้งหมด คุณสมบัติที่ฉันต้องการบนอ็อบเจ็กต์จนถึงรันไทม์และเท่าที่ฉันรู้ฉันไม่สามารถเพิ่มคุณสมบัติแบบไดนามิกให้กับ a dynamicโดยไม่ใช้ExpandoObject. ฉันอาจต้องกรองธุรกิจ "คีย์" "มูลค่า" ในจาวาสคริปต์ของฉัน แต่ฉันหวังว่าจะได้ทราบก่อนที่จะส่งไปยังลูกค้า ขอบคุณสำหรับความช่วยเหลือของคุณ!

7
ผู้ใช้เมล็ดพันธุ์ MVC 5 และบทบาท
ฉันเล่นกับ MVC 5 ใหม่ฉันมีโมเดลตัวควบคุมและการตั้งค่ามุมมองบางอย่างโดยใช้การย้ายรหัสครั้งแรก คำถามของฉันคือฉันจะสร้างผู้ใช้และบทบาทได้อย่างไร ขณะนี้ฉันเพาะข้อมูลอ้างอิงบางส่วนในเมธอด Seed ของฉันใน Configuration.cs แต่สำหรับฉันแล้วดูเหมือนว่าตารางผู้ใช้และบทบาทจะไม่ถูกสร้างขึ้นจนกว่าจะมีสิ่งแรกกระทบ AccountController ขณะนี้ฉันมีสตริงการเชื่อมต่อสองสายดังนั้นฉันจึงสามารถแยกข้อมูลจากการพิสูจน์ตัวตนไปยังฐานข้อมูลอื่นได้ ฉันจะทำให้ตารางผู้ใช้บทบาทและอื่น ๆ พร้อมกับตารางอื่น ๆ ของฉันได้อย่างไร และไม่ใช่เมื่อตัวควบคุมบัญชีถูกโจมตี?

2
อัปเดตหลายแถวใน Entity Framework จากรายการรหัส
ฉันกำลังพยายามสร้างแบบสอบถามสำหรับกรอบงานเอนทิตีที่จะช่วยให้ฉันสามารถจดรายการรหัสและอัปเดตฟิลด์ที่เกี่ยวข้องได้ ตัวอย่างใน SQL: UPDATE Friends SET msgSentBy = '1234' WHERE id IN (1, 2, 3, 4) ฉันจะแปลงข้างต้นเป็นกรอบงานเอนทิตีได้อย่างไร

14
จะอัพเดตการอ้างสิทธิ์ใน ASP.NET Identity ได้อย่างไร?
ฉันใช้การตรวจสอบสิทธิ์ OWIN สำหรับโครงการ MVC5 ของฉัน นี่เป็นของฉันSignInAsync private async Task SignInAsync(ApplicationUser user, bool isPersistent) { var AccountNo = "101"; AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie); var identity = await UserManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie); identity.AddClaim(new Claim(ClaimTypes.UserData, AccountNo)); AuthenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = isPersistent, RedirectUri="Account/Index"}, identity); } อย่างที่คุณเห็นฉันได้เพิ่มAccountNoเข้าไปในรายการการอ้างสิทธิ์ ตอนนี้ฉันจะอัปเดตการอ้างสิทธิ์นี้ในแอปพลิเคชันของฉันได้อย่างไร จนถึงตอนนี้ฉันมีสิ่งนี้: public string AccountNo { get { var CP = ClaimsPrincipal.Current.Identities.First(); …

7
ไม่สามารถแก้ไขบริการสำหรับประเภท 'Microsoft.AspNetCore.Identity.UserManager` ขณะพยายามเปิดใช้งาน' AuthController '
ฉันได้รับข้อผิดพลาดนี้ในตัวควบคุมการเข้าสู่ระบบ InvalidOperationException: ไม่สามารถแก้ไขบริการสำหรับประเภท 'Microsoft.AspNetCore.Identity.UserManager'1 [Automobile.Models.Account]' ในขณะที่พยายามเปิดใช้งาน 'Automobile.Server.Controllers.AuthController' นี่คือตัวสร้าง Auth Controller: private SignInManager<Automobile.Models.Account> _signManager; private UserManager<Automobile.Models.Account> _userManager; public AuthController(UserManager<Models.Account> userManager, SignInManager<Automobile.Models.Account> signManager) { this._userManager = userManager; this._signManager = signManager; } และนี่คือ ConfigureServices ใน startup.cs: public void ConfigureServices(IServiceCollection services) { // Add framework services. services.AddApplicationInsightsTelemetry(Configuration); services.Configure<AppConfig>(Configuration.GetSection("AppSettings")); //var provider = HttpContext.ApplicationServices; //var someService …

11
แสดงเฉพาะวันที่และไม่มีเวลา
ในมีดโกน MVC ฉันใส่วันที่ปัจจุบันในฐานข้อมูลแบบนี้ .. model.Returndate = DateTime.Now.Date.ToShortDateString(); เนื่องจากฟิลด์ฐานข้อมูลเป็นประเภทข้อมูลวันที่และเวลาและฉันกำลังแปลงวันที่ปัจจุบันเป็นรูปแบบสตริงจึงไม่ทำงาน .. ฉันจะทำสิ่งนี้ได้อย่างไร ฉันกำลังทำรูปแบบสตริงเพราะฉันต้องการวันที่ในรูปแบบ mm / dd / yyyy และไม่ใช่ในรูปแบบ mm / dd / yyyy hh: mm: ss time .. แก้ไข: ในคอนโทรลเลอร์ฉันมี var model = new ViewModel(); model.ReturnDate = DateTime.Now; return PartialView("PartialView", model); ใน partialview ฉันมี @Html.EditorFor(model => model.Returndate) นี่คือจุดที่แสดงวันที่เป็นวันที่และเวลาพร้อมกัน ... ฉันต้องการให้แสดงวันที่ ไม่ใช่เวลา. …

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