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

ASP.NET MVC 4 เป็นแพลตฟอร์ม ASP.NET Model-View-Controller เวอร์ชันหลักที่สี่สำหรับเว็บแอปพลิเคชัน

11
ฉันจะส่งพารามิเตอร์หลายตัวไปยัง ASP.Net Web API GET ได้อย่างไร
ฉันใช้. Net MVC4 Web API เพื่อ (หวังว่า) จะใช้ api RESTful ฉันต้องผ่านพารามิเตอร์สองสามตัวไปยังระบบและให้มันดำเนินการบางอย่างจากนั้นส่งคืนรายการของวัตถุเป็นผลลัพธ์ โดยเฉพาะฉันกำลังผ่านสองวันและกลับมาบันทึกที่อยู่ระหว่างพวกเขา ฉันยังติดตามระเบียนที่ส่งคืนเพื่อให้การโทรที่ตามมาไม่ได้รับการประมวลผลอีกครั้งในระบบ ฉันได้พิจารณาแนวทางบางประการแล้ว: การทำให้พารามิเตอร์เป็นอนุกรมในสตริง JSON เดียวและแยกออกจากกันใน API http://forums.asp.net/t/1807316.aspx/1 ส่งผ่านพารามิเตอร์ในสตริงการสืบค้น วิธีที่ดีที่สุดในการส่งพารามิเตอร์การค้นหาหลายรายการไปยัง api พักผ่อนคืออะไร การกำหนด params ในเส้นทาง: api / controller / date1 / date2 การใช้ POST ที่ให้ฉันผ่านวัตถุโดยมีพารามิเตอร์ ค้นคว้า ODATA ตั้งแต่ Web API (ปัจจุบัน) รองรับ ฉันยังไม่ได้ทำสิ่งนี้มากนักดังนั้นฉันจึงไม่คุ้นเคย ดูเหมือนว่าวิธีปฏิบัติ REST ที่เหมาะสมจะระบุเมื่อมีการดึงข้อมูลคุณควรใช้ GET อย่างไรก็ตาม GET …

10
โทเค็นต่อต้านการปลอมแปลงมีไว้สำหรับผู้ใช้“” แต่ผู้ใช้ปัจจุบันคือ“ ชื่อผู้ใช้”
ฉันกำลังสร้างแอปพลิเคชันหน้าเดียวและประสบปัญหาเกี่ยวกับโทเค็นต่อต้านการปลอมแปลง ฉันรู้ว่าทำไมปัญหาจึงเกิดขึ้นฉันไม่รู้วิธีแก้ไข ฉันได้รับข้อผิดพลาดเมื่อเกิดเหตุการณ์ต่อไปนี้: ผู้ใช้ที่ไม่ได้เข้าสู่ระบบจะโหลดกล่องโต้ตอบ (พร้อมกับโทเค็นต่อต้านการปลอมแปลงที่สร้างขึ้น) ผู้ใช้ปิดกล่องโต้ตอบ ผู้ใช้เข้าสู่ระบบ ผู้ใช้เปิดกล่องโต้ตอบเดียวกัน ผู้ใช้ส่งแบบฟอร์มในกล่องโต้ตอบ โทเค็นต่อต้านการปลอมแปลงมีไว้สำหรับผู้ใช้ "" แต่ผู้ใช้ปัจจุบันคือ "ชื่อผู้ใช้" สาเหตุที่เกิดขึ้นเนื่องจากแอปพลิเคชันของฉันเป็นแบบหน้าเดียว 100% และเมื่อผู้ใช้เข้าสู่ระบบผ่านการโพสต์ ajax สำเร็จ/Account/JsonLoginฉันก็เพียงแค่เปลี่ยนมุมมองปัจจุบันด้วย "มุมมองที่ได้รับการรับรองความถูกต้อง" ที่ส่งคืนจากเซิร์ฟเวอร์ แต่อย่าโหลดซ้ำ หน้า. ฉันรู้ว่านี่เป็นสาเหตุเพราะถ้าฉันโหลดหน้าซ้ำระหว่างขั้นตอนที่ 3 และ 4 อย่างง่ายจะไม่มีข้อผิดพลาด ดังนั้นดูเหมือนว่า@Html.AntiForgeryToken()ในฟอร์มที่โหลดจะยังคงส่งคืนโทเค็นสำหรับผู้ใช้เก่าจนกว่าเพจจะโหลดซ้ำ ฉัน@Html.AntiForgeryToken()จะเปลี่ยนเพื่อส่งคืนโทเค็นสำหรับผู้ใช้ใหม่ที่ได้รับการรับรองความถูกต้องได้อย่างไร ฉันฉีดใหม่GenericalPrincipalด้วยการกำหนดเองIIdentityทุกApplication_AuthenticateRequestครั้งที่@Html.AntiForgeryToken()ถูกเรียกว่าHttpContext.Current.User.Identityอันที่จริงแล้ว Identity ที่กำหนดเองของฉันพร้อมIsAuthenticatedคุณสมบัติถูกตั้งค่าเป็น true และ@Html.AntiForgeryTokenยังดูเหมือนว่าจะแสดงโทเค็นสำหรับผู้ใช้เก่าเว้นแต่ฉันจะโหลดหน้าซ้ำ

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 และลบเวอร์ชันเก่าออกจากโฟลเดอร์ไฟล์โปรแกรม มีใครทราบวิธีแก้ไขโดยไม่ต้องรวบรวมข้อมูลสำหรับแต่ละโครงการบ้าง

17
ส่งผ่านข้อมูลไปยังเค้าโครงที่ใช้ร่วมกันกับทุกหน้า
ฉันมีเว็บไซต์ที่มีหน้าเค้าโครง อย่างไรก็ตามหน้าเลย์เอาต์นี้มีข้อมูลซึ่งโมเดลเพจทั้งหมดจะต้องระบุชื่อเพจชื่อเพจและตำแหน่งที่เราเป็นจริงสำหรับผู้ช่วย HTML ที่ฉันทำซึ่งดำเนินการบางอย่าง นอกจากนี้แต่ละเพจยังมีคุณสมบัติของโมเดลมุมมองของตนเอง ฉันจะทำเช่นนี้ได้อย่างไร? ดูเหมือนว่าการพิมพ์เค้าโครงเป็นความคิดที่ดี แต่ฉันจะส่งข้อมูลเหล่านี้ได้อย่างไร

2
ฉันจะหาแพ็คเกจ NuGet สำหรับอัพเกรดเป็น System.Web.Http v5.0.0.0 ได้ที่ไหน
เพิ่งอัปเกรดโครงการ ASP.NET MVC4 เพื่อใช้ Unity.WebApi เวอร์ชัน 5.0.0.0 และต้องใช้ System.Web.Http v 5.0.0.0 ตามข้อผิดพลาดต่อไปนี้: Assembly 'Unity.WebApi, Version=5.1.0.0, Culture=neutral, PublicKeyToken=43da31bc42a85347' uses 'System.Web.Http, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' which has a higher version than referenced assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ขณะนี้ฉันกำลังอ้างอิง System.Web.Http v4.0 แต่มีแพ็คเกจ NuGet ต่อไปนี้ที่อัปเกรดเป็นเวอร์ชันล่าสุดตามลำดับ: ANTLRv3 ผู้ให้บริการ Microsoft ASP.NET Universal Microsoft.Web.Infrastructure Microsoft ASP.NET MVC มีดโกน …

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 โดยรอบหรือไม่ (อาจเป็นแอตทริบิวต์การดำเนินการส่งคืนประเภทอื่น)

9
การเติมรายการแบบเลื่อนลงมีดโกนจากรายการ <วัตถุ> ใน MVC
ฉันมีโมเดล: public class DbUserRole { public int UserRoleId { get; set; } public string UserRole { get; set; } } public class DbUserRoles { public List&lt;DbUserRole&gt; GetRoles() { BugnetReports RoleDropDown = new BugnetReports(); List&lt;DbUserRole&gt; Roles = new List&lt;DbUserRole&gt;(); DataSet table = RoleDropDown.userRoleDropDown(); foreach (DataRow item in table.Tables[0].Rows) { DbUserRole ur …

18
การรับค่า Checkbox ใน ASP.NET MVC 4
ฉันกำลังทำงานกับแอป ASP.NET MVC 4 แอพนี้มีรูปแบบพื้นฐาน แบบจำลองสำหรับแบบฟอร์มของฉันมีลักษณะดังต่อไปนี้: public class MyModel { public string Name { get; set; } public bool Remember { get; set; } } ในรูปแบบของฉันฉันมี HTML ต่อไปนี้ &lt;input id="Name" name="Name" type="text" value="@Model.Name" /&gt; &lt;input id="Remember" name="Remember" type="checkbox" value="@Model.Remember" /&gt; &lt;label for="Remember"&gt;&amp;nbsp;Remember Me?&lt;/label&gt; เมื่อฉันโพสต์แบบฟอร์มค่าจดจำในโมเดลจะเป็นเท็จเสมอ อย่างไรก็ตามคุณสมบัติ Name ในโมเดลมีค่า ฉันได้ทดสอบโดยตั้งค่าเบรกพอยต์ดังต่อไปนี้: [HttpPost] public …
122 c#  asp.net-mvc-4 

4
ASP.NET MVC 4 กำหนดสิทธิ์แอตทริบิวต์ด้วยรหัสสิทธิ์ (ไม่มีบทบาท)
ฉันต้องการควบคุมการเข้าถึงมุมมองตามระดับสิทธิ์ของผู้ใช้ (ไม่มีบทบาทมีเพียงระดับสิทธิ์สำหรับระดับการทำงาน CRUD ที่กำหนดให้กับผู้ใช้) ในแอปพลิเคชัน MVC 4 ของฉัน ตัวอย่างเช่น; ด้านล่าง AuthorizeUser จะเป็นแอตทริบิวต์ที่กำหนดเองของฉันและฉันจำเป็นต้องใช้มันดังนี้: [AuthorizeUser(AccessLevels="Read Invoice, Update Invoice")] public ActionResult UpdateInvoice(int invoiceId) { // some code... return View(); } [AuthorizeUser(AccessLevels="Create Invoice")] public ActionResult CreateNewInvoice() { // some code... return View(); } [AuthorizeUser(AccessLevels="Delete Invoice")] public ActionResult DeleteInvoice(int invoiceId) { // some code... return …


14
WebAPI Delete ไม่ทำงาน - ไม่อนุญาตวิธี 405
ฉันขอขอบคุณสำหรับความช่วยเหลือใด ๆ ในเรื่องนี้เนื่องจากไซต์ควรจะเปิดใช้งานคืนนี้! ฉันมีตัวควบคุมเว็บ API ที่มีวิธีการลบ วิธีการดำเนินการได้ดีบนเครื่องท้องถิ่นของฉันที่ใช้ IIS Express (Windows 8) แต่ทันทีที่ฉันปรับใช้กับเซิร์ฟเวอร์ IIS ที่ใช้งานอยู่ (Windows Server 2008 R2) ก็หยุดทำงานและแสดงข้อความแสดงข้อผิดพลาดต่อไปนี้: HTTP Error 405.0 - Method Not Allowed เพจที่คุณกำลังค้นหาไม่สามารถแสดงได้เนื่องจากมีการใช้เมธอดที่ไม่ถูกต้อง (HTTP Verb) ฉันได้ดูวิธีแก้ปัญหาในเว็บแล้วและได้นำวิธีที่สมเหตุสมผลที่สุดไปใช้ การกำหนดค่าเว็บของฉันมีการตั้งค่าต่อไปนี้: &lt;system.webServer&gt; &lt;validation validateIntegratedModeConfiguration="false" /&gt; &lt;handlers&gt; &lt;remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" /&gt; &lt;remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" /&gt; &lt;remove name="ExtensionlessUrlHandler-Integrated-4.0" /&gt; &lt;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("&lt;p&gt;Test&lt;/p&gt;"); return Request.CreateResponse(HttpStatusCode.OK); } }

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

9
ไซต์หยุดทำงานในระบบ asp.net WebWebPages.Razor.Configuration.HostSection ไม่สามารถส่งไปยัง
ฉันมีปัญหาเช่นนี้บนเซิร์ฟเวอร์ [A] System.WebWebPages.Razor.Configuration.HostSection ไม่สามารถส่งไปยัง [B] System.WebWebPages.Razor.Configuration.HostSection ประเภท A มาจาก 'System.Web.WebPages.Razor เวอร์ชัน = 2.0.0.0 วัฒนธรรม = เป็นกลาง PublicKeyToken = 31bf3856ad364e35' ในบริบท 'ค่าเริ่มต้น' ที่ตำแหน่ง 'C: \ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System .Web.WebPages.Razor \ v4.0_2.0.0.0__31bf3856ad364e35 \ System.Web.WebPages.Razor.dll' ประเภท B มาจาก 'System.Web.WebPages.Razor เวอร์ชัน = 1.0.0.0 วัฒนธรรม = เป็นกลาง PublicKeyToken = …

20
ไม่มีไดเร็กทอรี ชื่อพารามิเตอร์: directoryVirtualPath
ต้องการปรับปรุงโพสต์นี้หรือไม่? ให้คำตอบโดยละเอียดสำหรับคำถามนี้รวมถึงการอ้างอิงและคำอธิบายว่าเหตุใดคำตอบของคุณจึงถูกต้อง คำตอบที่ไม่มีรายละเอียดเพียงพออาจถูกแก้ไขหรือลบออก ฉันเพิ่งเผยแพร่โครงการของฉันไปยังโฮสต์ของฉันบน Arvixe และได้รับข้อผิดพลาดนี้ (ใช้งานได้ดีในพื้นที่): Server Error in '/' Application. Directory does not exist. Parameter name: directoryVirtualPath Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. …

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