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

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

18
ค่าไม่สามารถเป็นค่าว่างได้ ชื่อพารามิเตอร์: แหล่งที่มา
นี่อาจเป็นปัญหาเสียเวลาที่ใหญ่ที่สุดที่ฉันใช้เวลาหลายชั่วโมงในการแก้ปัญหาเป็นเวลานาน var db = new hublisherEntities(); establishment_brands est = new establishment_brands(); est.brand_id = 1; est.establishment_id = 1; est.price = collection["price"]; est.size = collection["size"]; db.establishment_brands.Add(est); db.SaveChanges(); สิ่งนี้ทำให้ฉันมีข้อผิดพลาด ค่าไม่สามารถเป็นค่าว่างได้ ชื่อพารามิเตอร์: แหล่งที่มา stacktrace ของ [ArgumentNullException: ค่าไม่สามารถเป็นค่าว่างได้ ชื่อพารามิเตอร์: source] System.Linq.Enumerable.Any (IEnumerable 1 source, Func2 เพรดิเคต) +4083335 System.Data.Entity.Internal.InternalContext.WrapUpdateException (UpdateException updateException) +87 System.Data.Entity.Internal.InternalContext.SaveChanges () + 193 …

11
MVC ซึ่งกดปุ่มส่งแล้ว
ฉันมีสองปุ่มในแบบฟอร์ม MVC ของฉัน: <input name="submit" type="submit" id="submit" value="Save" /> <input name="process" type="submit" id="process" value="Process" /> จากการกระทำของคอนโทรลเลอร์ฉันจะรู้ได้อย่างไรว่าอันไหนถูกกด?
128 c#  asp.net  asp.net-mvc  razor 

25
วิธีเพิ่มคลาส“ active” ใน Html.ActionLink ใน ASP.NET MVC
ฉันกำลังพยายามเพิ่มคลาส "active" ให้กับ bootstrap navbar ใน MVC แต่สิ่งต่อไปนี้ไม่แสดงคลาสที่ใช้งานอยู่เมื่อเขียนแบบนี้: <ul class="nav navbar-nav"> <li>@Html.ActionLink("Home", "Index", "Home", null, new {@class="active"})</li> <li>@Html.ActionLink("About", "About", "Home")</li> <li>@Html.ActionLink("Contact", "Contact", "Home")</li> </ul> สิ่งนี้จะแก้ไขสิ่งที่ดูเหมือนคลาสที่มีรูปแบบถูกต้อง แต่ใช้ไม่ได้: <a class="active" href="/">Home</a> ในเอกสาร Bootstrap ระบุว่าไม่ควรใช้แท็ก 'a' ในแถบนำทาง แต่ข้างต้นเป็นวิธีที่ฉันเชื่อว่าเป็นวิธีที่ถูกต้องในการเพิ่มคลาสให้กับ Html.ActionLink มีวิธีอื่น (เป็นระเบียบ) ที่ฉันสามารถทำได้หรือไม่?

13
ASP.NET MVC วิธีการแปลงข้อผิดพลาด ModelState เป็น json
คุณจะได้รับรายการข้อความแสดงข้อผิดพลาดทั้งหมดของ ModelState ได้อย่างไร? ฉันพบรหัสนี้เพื่อรับคีย์ทั้งหมด: (การส่งคืนรายการคีย์ที่มีข้อผิดพลาด ModelState ) var errorKeys = (from item in ModelState where item.Value.Errors.Any() select item.Key).ToList(); แต่ฉันจะได้รับข้อความแสดงข้อผิดพลาดเป็น IList หรือ IQueryable ได้อย่างไร ฉันสามารถไป: foreach (var key in errorKeys) { string msg = ModelState[error].Errors[0].ErrorMessage; errorList.Add(msg); } แต่นั่นคือการทำด้วยตนเอง - มีวิธีทำโดยใช้ LINQ หรือไม่? คุณสมบัติ. ErrorMessage อยู่ในห่วงโซ่มากจนฉันไม่รู้ว่าจะเขียน LINQ อย่างไร ...

24
CSS, รูปภาพ, JS ไม่โหลดใน IIS
แอปพลิเคชันทั้งหมดของฉันทำงานได้ดี แต่ทันใดนั้นไซต์ทั้งหมดภายใต้ IIS ไม่โหลด css, รูปภาพ, สคริปต์ มันเปลี่ยนเส้นทางไปยังหน้าเข้าสู่ระบบ ถ้าฉันเข้าสู่ระบบมันใช้งานได้ดี เช่น mysite.com/Account/LogOn?ReturnUrl=%2fpublic%2fimages%2ficons%2f41.png ในเครื่องของฉันทำงานได้ดีโดยไม่ต้องเข้าสู่ระบบ
126 c#  asp.net-mvc  iis 

12
รับชื่อพื้นที่ปัจจุบันในมุมมองหรือตัวควบคุม
คุณได้รับชื่อพื้นที่ปัจจุบันในมุมมองหรือคอนโทรลเลอร์ได้อย่างไร? มีอะไรที่ต้องการViewContext.RouteData.Values["controller"]สำหรับพื้นที่หรือไม่?
126 c#  asp.net-mvc  razor 

9
การอัปเดต Windows ทำให้ MVC3 และ MVC4 หยุดทำงาน
ฉันเป็นคนเดียวที่ติดตั้ง Windows Update (8.1) ในวันที่ 15 ตุลาคมและ MVC หยุดทำงานเพราะคำเตือนนี้หรือไม่? คำเตือน 1 ไม่สามารถแก้ไขข้อมูลอ้างอิงนี้ ไม่พบแอสเซมบลี "System.Web.Mvc, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35, processorArchitecture = MSIL" ตรวจสอบให้แน่ใจว่ามีชุดประกอบอยู่บนดิสก์ หากรหัสของคุณต้องการการอ้างอิงนี้คุณอาจได้รับข้อผิดพลาดในการคอมไพล์ ดูเหมือนว่าการอัปเดต windows นี้จะติดตั้ง MVC เวอร์ชันใหม่ที่มีหมายเลขเวอร์ชัน 4.0.0.1 และลบเวอร์ชันเก่าออกจากโฟลเดอร์ไฟล์โปรแกรม มีใครทราบวิธีแก้ไขโดยไม่ต้องรวบรวมข้อมูลสำหรับแต่ละโครงการบ้าง

23
ฉันจะทำให้ ASP.NET MVC SelectList นี้ทำงานได้อย่างไร
ฉันสร้างรายการที่เลือกในตัวควบคุมของฉันเพื่อแสดงในมุมมอง ฉันกำลังพยายามสร้างมันขึ้นมาทันทีสิ่งที่ .. เช่นนี้ ... myViewData.PageOptionsDropDown = new SelectList(new [] {"10", "15", "25", "50", "100", "1000"}, "15"); มันคอมไพล์ แต่ผลลัพธ์แย่ ... <select id="PageOptionsDropDown" name="PageOptionsDropDown"> <option>10</option> <option>15</option> <option>25</option> <option>50</option> <option>100</option> <option>1000</option> </select> สังเกตว่าไม่มีการเลือกรายการใด? จะแก้ไขได้อย่างไร ??

6
วิธีคืนสตริงดิบด้วย ApiController
ฉันมี ApiController ที่ทำหน้าที่ XML / JSON แต่ฉันต้องการให้การดำเนินการอย่างใดอย่างหนึ่งของฉันส่งคืน HTML บริสุทธิ์ ฉันลองด้านล่าง แต่มันยังคงส่งคืน XML / JSON public string Get() { return "<strong>test</strong>"; } นี่คือผลตอบแทนข้างต้น: <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/"><strong>test</strong></string> มีวิธีส่งคืนเฉพาะข้อความบริสุทธิ์ที่ไม่ใช้ Escape โดยไม่มีแท็ก XML โดยรอบหรือไม่ (อาจเป็นแอตทริบิวต์การดำเนินการส่งคืนประเภทอื่น)

5
เปลี่ยนเส้นทางไปที่ Action ในคอนโทรลเลอร์อื่น
AccountControllerฉันมีสองตัวควบคุมทั้งที่เรียกว่า หนึ่งในนั้นให้เรียกว่าController Aอยู่ในการAreaโทรAdminและอีกอันให้เรียกว่าController Bไม่อยู่ในใด ๆArea(ฉันเดาว่านั่นหมายความว่าเป็นค่าเริ่มต้นArea?) Controller Bมียอดที่เรียกว่าaction method Loginฉันมีaction methodอินController Aซึ่งมีบรรทัดนี้ return RedirectToAction("LogIn", "Account"); ปัญหาคือฉันได้รับ404เมื่อบรรทัดนี้ถูกดำเนินการเนื่องจากมีความพยายามที่จะเปลี่ยนเส้นทางไปยังสิ่งที่ไม่มีอยู่actionในController A. ฉันต้องการที่จะเรียกในaction method Controller Bเป็นไปได้หรือไม่

8
ตัวช่วย HTML สำหรับ <input type =“ file” />
มีHTMLHelperไฟล์สำหรับอัพโหลดหรือไม่? โดยเฉพาะฉันกำลังมองหาการแทนที่ของ &lt;input type="file"/&gt; โดยใช้ ASP.NET MVC HTMLHelper หรือถ้าฉันใช้ using (Html.BeginForm()) การควบคุม HTML สำหรับการอัปโหลดไฟล์คืออะไร?

14
วิธีการจำลองเซิร์ฟเวอร์โอนใน ASP.NET MVC?
ใน ASP.NET MVC คุณสามารถส่งคืน ActionResult เปลี่ยนเส้นทางได้อย่างง่ายดาย: return RedirectToAction("Index"); or return RedirectToRoute(new { controller = "home", version = Math.Random() * 10 }); สิ่งนี้จะให้การเปลี่ยนเส้นทาง HTTP ซึ่งปกติจะใช้ได้ อย่างไรก็ตามเมื่อใช้การวิเคราะห์ของ Google สิ่งนี้ทำให้เกิดปัญหาใหญ่เนื่องจากผู้อ้างอิงดั้งเดิมหายไป Google จึงไม่ทราบว่าคุณมาจากไหน ซึ่งจะสูญเสียข้อมูลที่เป็นประโยชน์เช่นคำศัพท์ของเครื่องมือค้นหา หมายเหตุด้านข้างวิธีนี้มีข้อดีในการลบพารามิเตอร์ใด ๆ ที่อาจมาจากแคมเปญ แต่ยังช่วยให้ฉันสามารถจับภาพทางฝั่งเซิร์ฟเวอร์ได้ การปล่อยทิ้งไว้ในสตริงข้อความค้นหาจะทำให้มีคนบุ๊กมาร์กหรือทวิตเตอร์หรือบล็อกลิงก์ที่ไม่ควรทำ ฉันเคยเห็นสิ่งนี้หลายครั้งที่ผู้คนได้เปลี่ยนลิงก์ไปยังไซต์ของเราที่มีรหัสแคมเปญ อย่างไรก็ตามฉันกำลังเขียนตัวควบคุม 'เกตเวย์' สำหรับการเข้าชมไซต์ที่เข้ามาทั้งหมดซึ่งฉันอาจเปลี่ยนเส้นทางไปยังสถานที่อื่นหรือเวอร์ชันอื่น ตอนนี้ฉันสนใจ Google มากขึ้นในตอนนี้ (มากกว่าการบุ๊กมาร์กโดยไม่ตั้งใจ) และฉันต้องการส่งคนที่เยี่ยมชม/ไปยังหน้าที่พวกเขาจะได้รับหากพวกเขาไป/home/7ซึ่งเป็นหน้าแรกเวอร์ชัน 7 อย่างที่ฉันเคยพูดไปแล้วถ้าฉันทำสิ่งนี้ฉันจะสูญเสียความสามารถในการวิเคราะห์ผู้อ้างอิงของ Google: return RedirectToAction(new { …

11
ส่งอาร์เรย์ไปยัง mvc Action ผ่าน AJAX
ฉันกำลังพยายามส่งอาร์เรย์ (หรือ IEnumerable) ของ ints จากผ่าน AJAX ไปยังการดำเนินการ MVC และฉันต้องการความช่วยเหลือเล็กน้อย จาวาสคริปต์คือ $.get('/controller/MyAction', { vals: arrayOfValues }, function (data) {... และการกระทำของคอนโทรลเลอร์คือ public ActionResult MyAction(IEnumerable&lt;int&gt; arrayOfValues ) ในขณะนี้คำขอถูกจัดรูปแบบเป็น controller/MyAction?_=1301503418429&amp;arrayOfValues[]=491&amp;arrayOfValues[]=368&amp;arrayOfValues[]=235&amp;arrayOfValues[]=437 ฉันเกือบจะถึงแล้วถ้าฉันถอดวงเล็บเหลี่ยมออกฉันจะได้รับคำตอบที่ถูกต้อง ฉันจะส่งอาร์เรย์นั้นไปยัง get ได้อย่างไรเพื่อให้คอนโทรลเลอร์สามารถรับรู้ว่ามันคืออะไร ขอบคุณมากสำหรับความช่วยเหลือของคุณ เดฟ
124 c#  asp.net-mvc  jquery 

2
การตรวจสอบความคล่องแคล่วเทียบกับคำอธิบายประกอบข้อมูล [ปิด]
ตามที่กล่าวไว้ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม &amp; ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน9 ปีที่ผ่านมา อะไรคือความแตกต่างระหว่างการดำเนินการระหว่างแพ็คเกจการตรวจสอบความถูกต้องทั้งสองนี้เมื่อใช้สำหรับการตรวจสอบความถูกต้องของ ASP.NET MVC ดูเหมือนว่าจะมีวัตถุที่คล้ายกันตลอดไปจนถึงชื่อวัตถุ มีความเกี่ยวข้องกันหรือไม่? อะไรคือความแตกต่างของพวกเขา? ความแตกต่างเหล่านี้บ่งบอกถึงกรณีการใช้งานที่แตกต่างกันอย่างไร การตรวจสอบที่คล่องแคล่ว (โซลูชันของบุคคลที่สาม) คำอธิบายประกอบข้อมูล (Microsoft "อบใน")

17
คุณต้องเพิ่มการอ้างอิงถึง netstandard ของแอสเซมบลีเวอร์ชัน = 2.0.0.0
โครงการนี้เป็น ASP.NET MVC Web App ที่กำหนดเป้าหมายไปที่. NET Framework 4.6.1 การ ทันใดนั้น (แพ็คเกจ NuGet บางตัวได้รับการอัพเกรด) ฉันเริ่มได้รับข้อผิดพลาดต่อไปนี้ระหว่างรันไทม์: CS0012: ประเภท 'System.Object' ถูกกำหนดในแอสเซมบลีที่ไม่ได้อ้างอิง คุณต้องเพิ่มการอ้างอิงถึงแอสเซมบลี 'netstandard, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = cc7b13ffcd2ddd51' ในมุมมองหลักของฉันIndex.cshtmlในบรรทัดที่ฉันใช้ประโยชน์จาก@Html.ActionLink ฉันมี. NET Core SDK 2.0 และ. NET Framework 4.7.1 ติดตั้งอยู่ในเครื่องของฉัน แต่ฉันไม่ต้องการรวมข้อมูลอ้างอิงเข้าไป นี่คือเว็บแอป. NET Framework เท่านั้นซึ่งโฮสต์บน Windows IIS โดยที่กรอบงานที่ติดตั้งคือ 4.6.1 …

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