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

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

3
ข้อดีของการใช้ async กับ MVC5 คืออะไร?
อะไรคือความแตกต่างระหว่าง: public ActionResult Login(LoginViewModel model, string returnUrl) { if (ModelState.IsValid) { IdentityResult result = IdentityManager.Authentication.CheckPasswordAndSignIn(AuthenticationManager, model.UserName, model.Password, model.RememberMe); if (result.Success) { return Redirect("~/home"); } else { AddErrors(result); } } return View(model); } และ: [HttpPost] [AllowAnonymous] [ValidateAntiForgeryToken] public async Task<ActionResult> Login(LoginViewModel model, string returnUrl) { if (ModelState.IsValid) { IdentityResult result = …

8
ModelState.IsValid == false ทำไม?
ฉันจะค้นหารายการข้อผิดพลาดที่ทำให้ ModelState ไม่ถูกต้องได้ที่ไหน ฉันไม่เห็นคุณสมบัติข้อผิดพลาดใด ๆ บนวัตถุ ModelState

11
จะคืน PDF ไปยังเบราว์เซอร์ใน MVC ได้อย่างไร
ฉันมีรหัสสาธิตสำหรับ iTextSharp Document document = new Document(); try { PdfWriter.GetInstance(document, new FileStream("Chap0101.pdf", FileMode.Create)); document.Open(); document.Add(new Paragraph("Hello World")); } catch (DocumentException de) { Console.Error.WriteLine(de.Message); } catch (IOException ioe) { Console.Error.WriteLine(ioe.Message); } document.Close(); ฉันจะให้คอนโทรลเลอร์ส่งคืนเอกสาร pdf ไปยังเบราว์เซอร์ได้อย่างไร แก้ไข: การเรียกใช้รหัสนี้เปิด Acrobat แต่ฉันได้รับข้อความแสดงข้อผิดพลาด "ไฟล์เสียหายและไม่สามารถซ่อมแซมได้" public FileStreamResult pdf() { MemoryStream m = new MemoryStream(); Document document …

14
WebAPI Delete ไม่ทำงาน - ไม่อนุญาตวิธี 405
ฉันขอขอบคุณสำหรับความช่วยเหลือใด ๆ ในเรื่องนี้เนื่องจากไซต์ควรจะเปิดใช้งานคืนนี้! ฉันมีตัวควบคุมเว็บ API ที่มีวิธีการลบ วิธีการดำเนินการได้ดีบนเครื่องท้องถิ่นของฉันที่ใช้ IIS Express (Windows 8) แต่ทันทีที่ฉันปรับใช้กับเซิร์ฟเวอร์ IIS ที่ใช้งานอยู่ (Windows Server 2008 R2) ก็หยุดทำงานและแสดงข้อความแสดงข้อผิดพลาดต่อไปนี้: HTTP Error 405.0 - Method Not Allowed เพจที่คุณกำลังค้นหาไม่สามารถแสดงได้เนื่องจากมีการใช้เมธอดที่ไม่ถูกต้อง (HTTP Verb) ฉันได้ดูวิธีแก้ปัญหาในเว็บแล้วและได้นำวิธีที่สมเหตุสมผลที่สุดไปใช้ การกำหนดค่าเว็บของฉันมีการตั้งค่าต่อไปนี้: <system.webServer> <validation validateIntegratedModeConfiguration="false" /> <handlers> <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" /> <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" /> <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" …

2
ส่งคืน HTML จาก ASP.NET Web API
วิธีการคืน HTML จาก ASP.NET MVC Web API controller? ฉันลองใช้โค้ดด้านล่าง แต่ได้รับข้อผิดพลาดในการคอมไพล์เนื่องจากไม่ได้กำหนด Response.Write: public class MyController : ApiController { [HttpPost] public HttpResponseMessage Post() { Response.Write("<p>Test</p>"); return Request.CreateResponse(HttpStatusCode.OK); } }

4
อะไรคือความแตกต่างระหว่าง RouteLink และ ActionLink ใน ASP.NET MVC?
ฉันคิดว่าชื่อนี้สรุปได้ค่อนข้างดี: อะไรคือความแตกต่างระหว่างRouteLink()และActionLink()ใน ASP.NET MVC? เช่นคุณใช้Html.RouteLink()เมื่อใดและคุณใช้เมื่อใดHtml.ActionLink()ใน View ของคุณ?

12
MVC 5 เข้าถึงการอ้างสิทธิ์ข้อมูลตัวตนของผู้ใช้
ฉันกำลังพัฒนาเว็บแอปพลิเคชันMVC 5โดยใช้แนวทางแรกของฐานข้อมูล Entity Framework 5 ฉันใช้OWINสำหรับการรับรองความถูกต้องของผู้ใช้ ด้านล่างนี้แสดงวิธีการเข้าสู่ระบบของฉันภายใน Account Controller ของฉัน public ActionResult Login(LoginViewModel model, string returnUrl) { if (ModelState.IsValid) { var user = _AccountService.VerifyPassword(model.UserName, model.Password, false); if (user != null) { var identity = new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, model.UserName), }, DefaultAuthenticationTypes.ApplicationCookie, ClaimTypes.Name, ClaimTypes.Role); identity.AddClaim(new Claim(ClaimTypes.Role, "guest")); identity.AddClaim(new Claim(ClaimTypes.GivenName, "A …

5
ใช้ ASP.NET MVC validation กับ jquery ajax?
ฉันมีแอคชั่น ASP.NET MVC ง่ายๆดังนี้: public ActionResult Edit(EditPostViewModel data) { } EditPostViewModelมีแอตทริบิวต์การตรวจสอบเช่นนี้ [Display(Name = "...", Description = "...")] [StringLength(100, MinimumLength = 3, ErrorMessage = "...")] [Required()] public string Title { get; set; } ในมุมมองฉันกำลังใช้ตัวช่วยต่อไปนี้: @Html.LabelFor(Model => Model.EditPostViewModel.Title, true) @Html.TextBoxFor(Model => Model.EditPostViewModel.Title, new { @class = "tb1", @Style = "width:400px;" }) หากฉันส่งแบบฟอร์มที่กล่องข้อความนี้อยู่ในการตรวจสอบความถูกต้องจะดำเนินการก่อนบนไคลเอนต์จากนั้นจึงใช้บริการ …

5
วิธีการ "อุ่นเครื่อง" Entity Framework “ หนาว” เมื่อไหร่
ไม่คำตอบสำหรับคำถามที่สองของฉันไม่ใช่ฤดูหนาว คำนำ: เมื่อเร็ว ๆ นี้ฉันได้ทำการวิจัยเกี่ยวกับ Entity Framework มากมายและสิ่งที่ทำให้ฉันรำคาญคือประสิทธิภาพของมันเมื่อแบบสอบถามไม่ได้อุ่นเครื่องเรียกว่าแบบสอบถามเย็น ฉันอ่านบทความข้อควรพิจารณาเกี่ยวกับประสิทธิภาพของ Entity Framework 5.0 ผู้เขียนแนะนำแนวคิดของแบบสอบถามที่อบอุ่นและเย็นและความแตกต่างกันอย่างไรซึ่งฉันก็สังเกตเห็นตัวเองโดยไม่รู้ว่ามีอยู่จริง ที่นี่อาจจะคุ้มค่าที่จะพูดถึงฉันมีประสบการณ์อยู่เบื้องหลังเพียงหกเดือนเท่านั้น ตอนนี้ฉันรู้แล้วว่าฉันสามารถค้นคว้าในหัวข้อใดได้บ้างหากฉันต้องการทำความเข้าใจกรอบงานให้ดีขึ้นในแง่ของประสิทธิภาพ น่าเสียดายที่ข้อมูลส่วนใหญ่บนอินเทอร์เน็ตล้าสมัยหรือเต็มไปด้วยความเป็นส่วนตัวด้วยเหตุนี้ฉันจึงไม่สามารถค้นหาข้อมูลเพิ่มเติมใด ๆ เกี่ยวกับหัวข้อแบบสอบถามWarm vs Cold โดยพื้นฐานแล้วสิ่งที่ฉันสังเกตเห็นคือเมื่อใดก็ตามที่ฉันต้องทำการคอมไพล์ใหม่หรือการรีไซเคิลการค้นหาครั้งแรกของฉันจะช้ามาก การอ่านข้อมูลใด ๆ ที่ตามมานั้นรวดเร็ว ( อัตนัย ) ตามที่คาดไว้ เราจะย้ายไปใช้ Windows Server 2012, IIS8 และ SQL Server 2012 และในฐานะ Junior ฉันได้รับโอกาสในการทดสอบก่อนที่จะเหลือ ฉันดีใจมากที่พวกเขาแนะนำโมดูลการอุ่นเครื่องซึ่งจะทำให้แอปพลิเคชันของฉันพร้อมสำหรับคำขอแรกนั้น อย่างไรก็ตามฉันไม่แน่ใจว่าจะดำเนินการอย่างไรกับการอุ่นเครื่อง Entity Framework ของฉัน สิ่งที่ฉันรู้แล้วว่าควรค่าแก่การทำ: สร้างมุมมองของฉันล่วงหน้าตามที่แนะนำ ในที่สุดก็ย้ายโมเดลของฉันไปไว้ในชุดประกอบแยกต่างหาก สิ่งที่ฉันคิดจะทำโดยใช้สามัญสำนึกอาจเป็นแนวทางที่ผิด : …

1
คุณจะบอก Resharper ได้อย่างไรว่าพารามิเตอร์เมธอดคือสตริงที่มีคลาส CSS
[เปิดใช้งาน intellisense บนแอตทริบิวต์ HTMLHelper สำหรับคลาส css] ฉันมี HTMLhelper นี้: public IHtmlString MyTextBoxFor<TModel, TProperty>( this HtmlHelper<TModel> html, Expression<Func<TModel, TProperty>> propertyExpression, string cssClass) { // ... } ฉันต้องการให้ Resharper ให้ IntelliSense สำหรับคลาส CSS ที่กำหนดไว้ในแอปพลิเคชันของฉันเมื่อส่งผ่านค่าสำหรับพารามิเตอร์ "cssClass" มีแอตทริบิวต์คำอธิบายประกอบโค้ดบางอย่างที่ Resharper รู้จัก แต่ไม่มีอะไรที่เกี่ยวข้องโดยตรงกับการทำเครื่องหมายพารามิเตอร์เมธอดว่าเป็นคลาส CSS ที่ใกล้เคียงที่สุดที่ฉันสามารถหาเป็น[HtmlAttributeValue (ชื่อสตริง)] ฉันพยายามใช้กับพารามิเตอร์ cssClass ดังนี้: public IHtmlString MyTextBoxFor<TModel, TProperty>( this HtmlHelper<TModel> html, …

10
วิธีที่มีประสิทธิภาพในการใช้เพจจิ้ง
ฉันควรใช้ LINQ Skip()และTake()เมธอดในการเพจหรือใช้เพจจิ้งของตัวเองกับคิวรี SQL? ข้อใดมีประสิทธิภาพสูงสุด ทำไมฉันถึงเลือกอย่างใดอย่างหนึ่ง ฉันใช้ SQL Server 2008, ASP.NET MVC และ LINQ

10
วิธีใช้ npm กับ ASP.NET Core
ฉันใช้ npm เพื่อจัดการ jQuery, Bootstrap, Font Awesome และไลบรารีไคลเอนต์ที่คล้ายกันที่ฉันต้องการสำหรับแอปพลิเคชัน ASP.NET Core ของฉัน วิธีการที่ใช้ได้ผลสำหรับฉันเริ่มต้นด้วยการเพิ่มไฟล์ package.json ลงในโปรเจ็กต์ซึ่งมีลักษณะดังนี้: { "version": "1.0.0", "name": "myapp", "private": true, "devDependencies": { }, "dependencies": { "bootstrap": "^3.3.6", "font-awesome": "^4.6.1", "jquery": "^2.2.3" } } npm คืนค่าแพ็กเกจเหล่านี้ลงในโฟลเดอร์ node_modules ซึ่งอยู่ในระดับเดียวกับ wwwroot ในไดเร็กทอรีโปรเจ็กต์: เนื่องจาก ASP.NET Core ให้บริการไฟล์แบบคงที่จากโฟลเดอร์ wwwroot และไม่มี node_modules ฉันจึงต้องทำการเปลี่ยนแปลงสองสามอย่างเพื่อให้ทำงานนี้ได้อันแรกคือการเพิ่ม app.UseFileServer ก่อนแอป …

15
วิธีการแสดง DateTime ในรูปแบบเฉพาะใน ASP.NET MVC 3
หากฉันมีคุณสมบัติประเภทหนึ่งในคลาสโมเดลDateTimeฉันจะแสดงผลในรูปแบบเฉพาะได้อย่างไรตัวอย่างเช่นในรูปแบบที่ToLongDateString()ส่งคืน ฉันได้ลองสิ่งนี้ ... @Html.DisplayFor(modelItem => item.MyDateTime.ToLongDateString()) ... ซึ่งแสดงข้อยกเว้นเนื่องจากนิพจน์ต้องชี้ไปที่คุณสมบัติหรือฟิลด์ และนี่... @{var val = item.MyDateTime.ToLongDateString(); Html.DisplayFor(modelItem => val); } ... ซึ่งไม่ได้ทำให้เกิดข้อยกเว้น แต่เอาต์พุตที่แสดงผลนั้นว่างเปล่า (แม้ว่าจะvalมีค่าที่คาดหวังอย่างที่ฉันเห็นในดีบักเกอร์) ขอบคุณสำหรับเคล็ดลับล่วงหน้า! แก้ไข ToLongDateStringเป็นเพียงตัวอย่างเท่านั้น สิ่งที่ฉันต้องการใช้แทนToLongDateStringคือวิธีการขยายที่กำหนดเองของDateTimeและDateTime?: public static string FormatDateTimeHideMidNight(this DateTime dateTime) { if (dateTime.TimeOfDay == TimeSpan.Zero) return dateTime.ToString("d"); else return dateTime.ToString("g"); } public static string FormatDateTimeHideMidNight(this DateTime? dateTime) { if …

6
การจัดการข้อผิดพลาด ASP.NET MVC Ajax
ฉันจะจัดการข้อยกเว้นที่เกิดขึ้นในคอนโทรลเลอร์ได้อย่างไรเมื่อ jquery ajax เรียกการดำเนินการ ตัวอย่างเช่นฉันต้องการโค้ดจาวาสคริปต์ส่วนกลางที่ดำเนินการกับข้อยกเว้นของเซิร์ฟเวอร์ใด ๆ ในระหว่างการเรียก ajax ซึ่งจะแสดงข้อความยกเว้นหากอยู่ในโหมดดีบักหรือเป็นเพียงข้อความแสดงข้อผิดพลาดปกติ ในฝั่งไคลเอ็นต์ฉันจะเรียกใช้ฟังก์ชันเกี่ยวกับข้อผิดพลาดของ ajax ในฝั่งเซิร์ฟเวอร์ฉันต้องเขียนตัวกรองการดำเนินการที่กำหนดเองหรือไม่

7
ปัญหากระบวนการลงทะเบียนหลายขั้นตอนใน asp.net mvc (โมเดลมุมมองแบบแยกโมเดลเดียว)
ฉันมีกระบวนการลงทะเบียนหลายขั้นตอนซึ่งได้รับการสนับสนุนจากไฟล์ออบเจ็กต์เดียวในเลเยอร์โดเมนซึ่งมีกฎการตรวจสอบที่กำหนดไว้ในคุณสมบัติ ฉันจะตรวจสอบความถูกต้องของออบเจ็กต์โดเมนอย่างไรเมื่อโดเมนถูกแบ่งออกเป็นหลายมุมมองและฉันต้องบันทึกอ็อบเจ็กต์บางส่วนในมุมมองแรกเมื่อโพสต์ ฉันคิดเกี่ยวกับการใช้เซสชัน แต่ไม่สามารถทำได้เนื่องจากกระบวนการนี้ยาวและปริมาณข้อมูลสูงดังนั้นฉันจึงไม่ต้องการใช้เซสชัน ฉันคิดเกี่ยวกับการบันทึกข้อมูลทั้งหมดในฐานข้อมูลในหน่วยความจำเชิงสัมพันธ์ (ที่มีสคีมาเดียวกันกับฐานข้อมูลหลัก) จากนั้นล้างข้อมูลนั้นไปยังฐานข้อมูลหลัก แต่ปัญหาที่เกิดขึ้นทำให้ฉันควรกำหนดเส้นทางระหว่างบริการ (ร้องขอในมุมมอง) ที่ทำงานกับ ฐานข้อมูลหลักและฐานข้อมูลในหน่วยความจำ ฉันกำลังมองหาโซลูชันที่สวยงามและสะอาดตา (แนวทางปฏิบัติที่ดีที่สุดอย่างแม่นยำยิ่งขึ้น) อัปเดตและชี้แจง: @ ดารินขอบคุณสำหรับการตอบกลับที่รอบคอบนั่นคือสิ่งที่ฉันทำจนถึงตอนนี้ แต่บังเอิญฉันได้รับคำขอที่มีไฟล์แนบจำนวนมากฉันออกแบบStep2Viewเช่นผู้ใช้สามารถอัปโหลดเอกสารในแบบอะซิงโครนัสได้ แต่ไฟล์แนบเหล่านั้นควรบันทึกไว้ในตารางที่มีความสัมพันธ์อ้างอิงกับตารางอื่นที่ควรบันทึกไว้ก่อนในStep1View . ดังนั้นผมจึงควรบันทึกวัตถุโดเมนStep1(บางส่วน) แต่ผมไม่สามารถทำให้ได้รับการสนับสนุนหลัก Domain วัตถุซึ่งเป็นแมปบางส่วนของขั้นที่ 1 ViewModel Step2ViewModelไม่สามารถบันทึกได้โดยไม่ต้องประกอบฉากที่มาจากแปลง
117 asp.net-mvc 

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