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

ASP.NET MVC 2 เป็นเวอร์ชันหลักที่สองของแพลตฟอร์ม ASP.NET MVC นับตั้งแต่นั้นเป็นต้นมา ASP.NET MVC 3 ก็ล้าสมัยไปแล้ว

9
ดาวน์โหลดไฟล์ประเภทใดก็ได้ใน Asp.Net MVC โดยใช้ FileResult?
ฉันแนะนำให้ฉันใช้ FileResult เพื่ออนุญาตให้ผู้ใช้ดาวน์โหลดไฟล์จากแอปพลิเคชัน Asp.Net MVC ของฉัน แต่ตัวอย่างเดียวของสิ่งนี้ที่ฉันสามารถหาได้เสมอเกี่ยวกับไฟล์รูปภาพ (การระบุประเภทเนื้อหาอิมเมจ / jpeg) แต่ถ้าฉันไม่รู้จักประเภทไฟล์ล่ะ ฉันต้องการให้ผู้ใช้สามารถดาวน์โหลดไฟล์ใดก็ได้จากไฟล์ของเว็บไซต์ของฉัน ฉันได้อ่านวิธีหนึ่งในการทำเช่นนี้ (ดูโพสต์ก่อนหน้าสำหรับรหัส) ที่ใช้งานได้จริงยกเว้นสิ่งหนึ่ง: ชื่อของไฟล์ที่เกิดขึ้นในกล่องโต้ตอบบันทึกเป็นถูกตัดแบ่งจากพา ธ ไฟล์ที่มีเครื่องหมายขีดล่าง ( folder_folder_file.ext) นอกจากนี้ดูเหมือนว่าผู้คนคิดว่าฉันควรคืน FileResult แทนที่จะใช้คลาสที่กำหนดเองนี้ซึ่งฉันได้พบ BinaryContentResult ใครรู้วิธีที่ถูกต้องในการดาวน์โหลดเช่นนี้ใน MVC แก้ไข: ฉันได้รับคำตอบ (ด้านล่าง) แต่แค่คิดว่าฉันควรโพสต์รหัสการทำงานแบบเต็มหากมีคนสนใจ: public ActionResult Download(string filePath, string fileName) { string fullName = Path.Combine(GetBaseDir(), filePath, fileName); byte[] fileBytes = GetFile(fullName); return File( fileBytes, …
228 c#  asp.net-mvc-2 

20
การเรียก jQuery Ajax และ Html.AntiForgeryToken ()
ฉันได้ติดตั้งแอพพลิเคชั่นเพื่อลดการโจมตี CSRFจากข้อมูลที่ฉันได้อ่านในบล็อกโพสต์รอบอินเทอร์เน็ต โดยเฉพาะอย่างยิ่งโพสต์เหล่านี้เป็นตัวขับเคลื่อนของการติดตั้งของฉัน วิธีปฏิบัติที่ดีที่สุดสำหรับ ASP.NET MVCจากทีมเนื้อหานักพัฒนาเว็บ ASP.NET และ กายวิภาคของการข้ามไซต์ขอการโจมตีด้วยการปลอมแปลงจากบล็อก Phil Haack AntiForgeryToken ใน ASP.NET MVC Framework - Html.AntiForgeryToken และ ValidateAntiForgeryToken แอตทริบิวต์จาก David Hayden บล็อก โดยทั่วไปบทความและคำแนะนำเหล่านั้นบอกว่าเพื่อป้องกันการโจมตี CSRF ใคร ๆ ก็ควรใช้รหัสต่อไปนี้ 1) เพิ่ม[ValidateAntiForgeryToken]ในทุกการกระทำที่ยอมรับกริยา POST Http [HttpPost] [ValidateAntiForgeryToken] public ActionResult SomeAction( SomeModel model ) { } 2) เพิ่มตัว<%= Html.AntiForgeryToken() %>ช่วยภายในฟอร์มที่ส่งข้อมูลไปยังเซิร์ฟเวอร์ <div style="text-align:right; padding: …

12
วิธีการตั้งค่าเริ่มต้นด้วย Html.TextBoxFor?
คำถามง่ายๆถ้าคุณใช้ Html Helper จาก ASP.NET MVC Framework ที่ 1 Html.TextBox(string name, object value)มันเป็นเรื่องง่ายที่จะตั้งค่าเริ่มต้นในช่องเพราะมีเกิน เมื่อฉันลองใช้วิธีHtml.TextBoxForการคาดเดาครั้งแรกของฉันคือลองทำสิ่งต่อไปนี้ซึ่งใช้งานไม่ได้: <%: Html.TextBoxFor(x => x.Age, new { value = "0"}) %> ฉันควรจะติดกับ Html.TextBox (สตริงวัตถุ) ตอนนี้หรือไม่

3
ModelState.AddModelError - ฉันจะเพิ่มข้อผิดพลาดที่ไม่ได้มีไว้สำหรับทรัพย์สินได้อย่างไร
ฉันกำลังตรวจสอบฐานข้อมูลของฉันในCreate(FooViewModel fvm){...}เพื่อดูว่าfvm.prop1และfvm.prop2มีอยู่แล้วในการรวมกันที่มิ ถ้าเป็นเช่นนั้นฉันต้องการเพิ่มข้อผิดพลาดใน modelstate จากนั้นส่งคืนมุมมองทั้งหมด ฉันเหนื่อย: public ActionResult Create(FooViewModel fvm){ if (ThatComboAlreadyExists(fvm)) { ModelState.AddModelError("Model", "There is already one like that"); return View(fvm); } } ... แต่ฉันไม่พบข้อผิดพลาดในHtml.ValidationSummaryซึ่งฉันคิดว่ามันจะปรากฏขึ้น ฉันสงสัยว่า "Model" ไม่ใช่คีย์ที่ถูกต้อง แต่ฉันไม่สามารถหาอะไรได้ใน Google

8
แสดงความแตกต่างระหว่างสองค่าวันที่และเวลาในชั่วโมง
ฉันกำลังดึงค่าวันที่สองค่าจากฐานข้อมูล เมื่อได้รับค่าฉันต้องการความแตกต่างระหว่างค่าทั้งสอง สำหรับสิ่งนั้นฉันสร้างตัวแปร timespan เพื่อเก็บส่วนต่างของค่าวันที่ 2 TimeSpan? variable = datevalue1 - datevalue2; ตอนนี้ฉันต้องแสดงความแตกต่างที่เก็บไว้ในตัวแปร Timespan ในแง่ของจำนวนชั่วโมง ฉันอ้างถึงTimeSpan.TotalHoursแต่ใช้ไม่ได้ด้วยเหตุผลเดียวกัน ฉันจะทำอย่างไร ฉันใช้ C # กับโครงการ MVC ฉันต้องการแสดงค่าความแตกต่างเป็นชั่วโมงหรือไม่ แก้ไข: ตั้งแต่ timespan เป็นโมฆะฉันไม่สามารถใช้คุณสมบัติชั่วโมงทั้งหมด ตอนนี้ฉันสามารถใช้งานได้โดยการทำ TimeSpanVal.Value.TotalHours ;

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

2
อะไรคือความแตกต่าง (ถ้ามี) ระหว่าง Html.Partial (ดูรุ่น) และ Html.RenderPartial (ดูรุ่น) ใน MVC2?
นอกเหนือจากประเภทที่ส่งกลับและความจริงที่ว่าคุณเรียกมันแตกต่างกันแน่นอน <% Html.RenderPartial(...); %> <%= Html.Partial(...) %> หากพวกเขาแตกต่างกันทำไมคุณถึงเรียกอันใดอันหนึ่งมากกว่าอีกอันหนึ่ง คำจำกัดความ: // Type: System.Web.Mvc.Html.RenderPartialExtensions // Assembly: System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 // Assembly location: C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 2\Assemblies\System.Web.Mvc.dll using System.Web.Mvc; namespace System.Web.Mvc.Html { public static class RenderPartialExtensions { public static void RenderPartial(this HtmlHelper htmlHelper, string partialViewName); public static void RenderPartial(this HtmlHelper …

7
วิธีการเขียน Html.DropDownListFor () อย่างง่าย?
ใน ASP.NET MVC 2 ฉันต้องการเขียนรายการแบบเลื่อนลงที่เรียบง่ายซึ่งให้ตัวเลือกคงที่ ตัวอย่างเช่นฉันต้องการระบุตัวเลือกระหว่าง "แดง" "น้ำเงิน" และ "เขียว"

13
วิธีตั้งค่าเส้นทางเริ่มต้น (ไปยังพื้นที่) ใน MVC
ตกลงเคยถามมาก่อนแล้ว แต่ไม่มีวิธีแก้ปัญหาที่ชัดเจน ดังนั้นเพื่อวัตถุประสงค์ของตัวเองและคนอื่น ๆ ที่อาจพบว่ามีประโยชน์ ใน MVC2 (ASP.NET) ฉันต้องการดังนั้นเมื่อมีคนไปที่เว็บไซต์จะมีการระบุพื้นที่เริ่มต้น ดังนั้นการนำทางไปยังไซต์ของฉันควรส่งคุณไปที่ ControllerX ActionY ใน AreaZ ใช้เส้นทางต่อไปนี้ใน Global.asax routes.MapRoute( "Area", "", new { area = "AreaZ", controller = "ControllerX ", action = "ActionY " } ); ตอนนี้ใช้งานได้เหมือนพยายามแสดงหน้าที่ถูกต้อง อย่างไรก็ตาม MVC ดำเนินการเพื่อค้นหา View ในรูทของไซต์และไม่อยู่ในโฟลเดอร์ Area มีวิธีแก้ไขปัญหานี้หรือไม่? แก้ไข มี 'โซลูชัน' และอยู่ใน ControllerX, ActionY ส่งคืนเส้นทางแบบเต็มของมุมมอง แฮ็คเล็กน้อย …

4
พารามิเตอร์ Url.Action?
ในตัวควบคุมรายชื่อฉันมี public ActionResult GetByList(string name, string contact) { var NameCollection = Service.GetByName(name); var ContactCollection = Service.GetByContact(contact); return View(new ListViewModel(NameCollection ,ContactCollection)); } ในหน้า ASPX ฉันเรียก <a href="<%:Url.Action("GetByList","Listing" , new {name= "John"} , new {contact="calgary, vancouver"})%>"><span>People</span></a> ฉันมีปัญหาในรหัส ASPX ... ฉันสามารถดึงระเบียนสำหรับชื่อ john แต่เมื่อฉันให้contact="calgary, vancouver"หน้าเว็บเกิดข้อผิดพลาด ฉันจะเรียกพารามิเตอร์สองตัวในไฟล์Url.Action. ฉันลองด้านล่าง แต่ดูเหมือนว่าจะผิดเช่นกัน <a href="<%:Url.Action("GetByList","Listing" , new {name= "John" …

20
คุณสมบัติ EditorFor () และ html
การสร้างตัวอย่าง Asp.Net MVC 2.0 ให้ตัวช่วยเช่น Html.EditorFor(c => c.propertyname) หากชื่อคุณสมบัติเป็นสตริงโค้ดด้านบนจะแสดงผลเป็น texbox จะเกิดอะไรขึ้นถ้าฉันต้องการส่งผ่านคุณสมบัติ MaxLength และ Size ไปยังกล่องข้อความหรือคุณสมบัติคลาส css ของฉันเอง ฉันต้องสร้างเทมเพลตหนึ่งรายการสำหรับการผสมขนาดและความยาวในแอปพลิเคชันของฉันหรือไม่ หากเป็นเช่นนั้นจะไม่ทำให้เทมเพลตเริ่มต้นใช้งานได้

4
ไฟล์ Web.Debug.config และ Web.Release.Config คืออะไร
ฉันเพิ่งอัปเกรดเป็น Visual Studio 2010 และ MVC 2.0 และฉันสังเกตเห็นว่า Web.config มีไฟล์เพิ่มเติมสองไฟล์แนบมาด้วย? ไฟล์เหล่านี้ใช้เพื่อระบุการดีบักและปล่อยการตั้งค่าเฉพาะดังนั้นคุณจึงไม่เกะกะ Web.config หลักหรือไม่? มันสมเหตุสมผลหรือไม่ที่จะวางสตริงการเชื่อมต่อในไฟล์ Web.config รูทถ้าฉันมีโลคัลและรีโมตในการดีบักและปล่อย Web.configs ตามลำดับ ขอบคุณ!

9
การโทร Ajax อย่างง่ายไปยังคอนโทรลเลอร์ใน asp.net mvc
ฉันกำลังพยายามเริ่มต้นด้วยการโทร ASP.NET MVC Ajax ตัวควบคุม: public class AjaxTestController : Controller { // // GET: /AjaxTest/ public ActionResult Index() { return View(); } public ActionResult FirstAjax() { return Json("chamara", JsonRequestBehavior.AllowGet); } } ดู: <head runat="server"> <title>FirstAjax</title> <script src="http://code.jquery.com/jquery-1.9.1.js"></script> <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function () { var serviceURL = '/AjaxTest/FirstAjax'; $.ajax({ type: …

4
Html.HiddenFor ทำอะไร?
แม้ว่าฉันจะอ่านเอกสารเกี่ยวกับ Html.HiddenFor แต่ฉันไม่เข้าใจว่ามันใช้สำหรับอะไร ... ใครช่วยอธิบายการใช้งานและยกตัวอย่างสั้น ๆ ได้ไหม ตัวช่วยเหล่านั้นควรอยู่ที่ไหนในรหัส?

2
ฉันจะใช้ VaryByParam กับพารามิเตอร์หลายตัวได้อย่างไร
ใน ASP.NET MVC2 ฉันใช้OutputCacheและVaryByParamแอตทริบิวต์ ฉันทำให้มันใช้งานได้ดีกับพารามิเตอร์เดียว แต่ไวยากรณ์ที่ถูกต้องคืออะไรเมื่อฉันมีพารามิเตอร์หลายตัวในเมธอด [OutputCache(Duration=30, VaryByParam = "customerId"] public ActionResult Index(int customerId) { //I've got this one under control, since it only has one parameter } [OutputCache(Duration=30, VaryByParam = "customerId"] public ActionResult Index(int customerId, int languageId) { //What is the correct syntax for VaryByParam now that I have …

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