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

ASP.NET MVC 3 เป็นส่วนขยายหลักรุ่นที่สามของ Model-View-Controller สำหรับการพัฒนาเว็บแอปพลิเคชั่นใน. NET Framework

5
ASP.NET MVC 3 - เทมเพลตบางส่วนกับ Display Template เทียบกับ Template Editor
ดังนั้นชื่อควรพูดเพื่อตัวเอง ในการสร้างส่วนประกอบที่ใช้งานซ้ำได้ใน ASP.NET MVC เรามี 3 ตัวเลือก (อาจเป็นอย่างอื่นที่ฉันไม่ได้กล่าวถึง) มุมมองบางส่วน: @Html.Partial(Model.Foo, "SomePartial") เทมเพลตแก้ไขที่กำหนดเอง: @Html.EditorFor(model => model.Foo) เทมเพลตการแสดงผลที่กำหนดเอง: @Html.DisplayFor(model => model.Foo) ในแง่ของการดู / HTML การใช้งานทั้งสามนั้นเหมือนกัน: @model WebApplications.Models.FooObject <!-- Bunch of HTML --> ดังนั้นคำถามของฉันคือ - เมื่อใด / คุณตัดสินใจเลือกหนึ่งในสามที่จะใช้ สิ่งที่ฉันกำลังมองหาจริงๆคือรายการคำถามที่ถามตัวเองก่อนสร้างคำถามซึ่งสามารถใช้คำตอบเพื่อตัดสินใจว่าจะใช้เทมเพลตใด นี่คือ 2 สิ่งที่ฉันค้นพบได้ดีขึ้นด้วย EditorFor / DisplayFor: พวกเขาเคารพลำดับชั้นของแบบจำลองเมื่อเรนเดอร์ HTML helpers (เช่นถ้าคุณมีวัตถุ "Bar" ในโมเดล "Foo" ของคุณองค์ประกอบ …

12
หลายรุ่นในมุมมอง
ฉันต้องการมี 2 รุ่นในหนึ่งมุมมอง หน้ามีทั้งและLoginViewModelRegisterViewModel เช่น public class LoginViewModel { public string Email { get; set; } public string Password { get; set; } } public class RegisterViewModel { public string Name { get; set; } public string Email { get; set; } public string Password { get; set; } } …

8
ใช้ Ajax.BeginForm กับ ASP.NET MVC 3 Razor
มีตัวอย่างบทช่วยสอนหรือโค้ดของการใช้งานAjax.BeginFormภายใน Asp.net MVC 3 ที่มีการตรวจสอบความถูกต้องไม่รบกวนและ Ajax หรือไม่? นี่เป็นหัวข้อที่เข้าใจยากสำหรับ MVC 3 และฉันไม่สามารถทำให้แบบฟอร์มทำงานได้อย่างถูกต้อง มันจะทำการส่ง Ajax แต่จะละเว้นข้อผิดพลาดในการตรวจสอบความถูกต้อง

4
ReSharper เตือน:“ สนามคงที่ในประเภททั่วไป”
public class EnumRouteConstraint<T> : IRouteConstraint where T : struct { private static readonly Lazy<HashSet<string>> _enumNames; // <-- static EnumRouteConstraint() { if (!typeof(T).IsEnum) { throw new ArgumentException( Resources.Error.EnumRouteConstraint.FormatWith(typeof(T).FullName)); } string[] names = Enum.GetNames(typeof(T)); _enumNames = new Lazy<HashSet<string>>(() => new HashSet<string> ( names.Select(name => name), StringComparer.InvariantCultureIgnoreCase )); } public bool Match(HttpContextBase httpContext, …

1
Html5 data- * พร้อมกับ asp.net mvc TextboxFor คุณลักษณะ html
ฉันจะเพิ่มdata-*คุณสมบัติ html โดยใช้ TextboxFor ได้อย่างไร นี่คือสิ่งที่ฉันมีในปัจจุบัน: @Html.TextBoxFor(model => model.Country.CountryName, new { data-url= Url.Action("CountryContains", "Geo") }) ในขณะที่คุณเห็นเป็นสาเหตุของปัญหาที่นี่- data-urlทางรอบนี้คืออะไร?

7
แทนที่อักขระขึ้นบรรทัดใหม่ด้วย <br /> ในมุมมอง ASP.NET MVC Razor
ฉันมีตัวควบคุม textarea ที่รับอินพุต ฉันพยายามที่จะทำให้ข้อความในมุมมองในภายหลังโดยใช้: @ Model.CommentText นี่เป็นการเข้ารหัสค่าอย่างเหมาะสม อย่างไรก็ตามฉันต้องการแทนที่ตัวแบ่งบรรทัดด้วย&lt;br /&gt;และฉันไม่สามารถหาวิธีเพื่อให้แน่ใจว่าแท็ก br ใหม่ไม่ได้รับการเข้ารหัส ฉันได้ลองใช้ HtmlString แล้วแต่ยังไม่มีโชค

5
วิธีการไม่คงที่ต้องมีเป้าหมาย
ฉันมีตัวควบคุมที่ทำงานได้ดีบน Firefox ทั้งในระดับท้องถิ่นและในการผลิตและ IE ในพื้นที่ แต่ไม่ใช่ในการผลิต นี่คือแอ็คชั่นคอนโทรลเลอร์ของฉัน: public ActionResult MNPurchase() { CalculationViewModel calculationViewModel = (CalculationViewModel)TempData["calculationViewModel"]; decimal OP = landTitleUnitOfWork.Sales.Find() .Where(x =&gt; x.Min &gt;= calculationViewModel.SalesPrice) .FirstOrDefault() .OP; decimal MP = landTitleUnitOfWork.Sales.Find() .Where(x =&gt; x.Min &gt;= calculationViewModel.MortgageAmount) .FirstOrDefault() .MP; calculationViewModel.LoanAmount = (OP + 100) - MP; calculationViewModel.LendersTitleInsurance = (calculationViewModel.LoanAmount + 850); return …

1
ASP.NET MVC 3 Razor: รวมไฟล์ JavaScript ไว้ในแท็กส่วนหัว
ฉันกำลังพยายามหาไวยากรณ์ของมีดโกนที่เหมาะสมเพื่อรับไฟล์ JavaScript สำหรับ * .cshtml ที่เฉพาะเจาะจงให้อยู่ในแท็กส่วนหัวพร้อมกับไฟล์อื่น ๆ ทั้งหมดที่กำหนดไว้ใน _Layout.cshtml

4
ไวยากรณ์ @ Html.DisplayFor มีไว้เพื่ออะไร
ฉันเข้าใจว่าในมีดโกน @Html จะทำสิ่งต่าง ๆ ที่เป็นระเบียบเช่นสร้าง HTML สำหรับลิงก์ลิงก์อินพุต ฯลฯ แต่ฉันไม่ได้รับฟังก์ชั่น DisplayFor ... ทำไมฉันถึงเขียน: @Html.DisplayFor(model =&gt; model.Title) เมื่อฉันสามารถเขียนได้: @Model.Title

5
วิธีสร้างฟังก์ชั่นในเทมเพลต cshtml
ฉันต้องการสร้างฟังก์ชั่นที่จำเป็นเฉพาะในไฟล์ cshtml เดียว คุณสามารถคิดว่าสถานการณ์ของฉันเป็นวิธีหน้า ASP.NET ซึ่งเป็นบริการเว็บขั้นต่ำที่นำมาใช้ในหน้าเพราะพวกเขาถูกกำหนดขอบเขตในหนึ่งหน้า ฉันรู้เกี่ยวกับผู้ช่วยเหลือ HTML (วิธีการขยาย) แต่ฉันต้องการฟังก์ชั่นของฉันในไฟล์ cshtml เพียงไฟล์เดียว ฉันไม่ทราบวิธีสร้างลายเซ็นฟังก์ชั่นภายในมุมมอง หมายเหตุ : ฉันใช้เครื่องยนต์เทมเพลตมีดโกน

22
ประเภทหรือชื่อเนมสเปซไม่มีอยู่ในเนมสเปซ 'System.Web.Mvc'
การสร้างโซลูชัน MVC3 เป็นไปด้วยดี แต่มีข้อผิดพลาดในเบราว์เซอร์: ข้อความแสดงข้อผิดพลาดของคอมไพเลอร์: CS0234: ประเภทหรือชื่อเนมสเปซ 'Html' ไม่มีอยู่ในเนมสเปซ 'System.Web.Mvc' (คุณขาดการอ้างอิงแอสเซมบลีหรือไม่) Source Error: Line 25: &lt;add namespace="System.Web.Mvc" /&gt; Line 26: &lt;!--&lt;add namespace="System.Web.Mvc.Ajax" /&gt;--&gt; Line 27: &lt;add namespace="System.Web.Mvc.Html" /&gt; Line 28: &lt;add namespace="System.Web.Routing" /&gt; Line 29: &lt;add namespace="System.Web.WebPages" /&gt; ผมได้ติดตั้งแพ็กเก็ตสำหรับการแก้ปัญหาที่มีและการตั้งค่าสำหรับทุกโครงการNuGet MVC3ไม่MVC3รวมถึงห้องสมุดSystem.Web.Mvc.Ajax, System.Web.Mvc.Htmlและคนอื่น ๆ ? เหตุใดฉันจึงได้รับข้อผิดพลาด ในโฟลเดอร์อ้างอิงฉันมี System.Web.Mvc Runtime version: v4.0.30319, Version: …
217 c#  asp.net-mvc-3 

3
@ สื่อสื่อแบบสอบถามและการขัดแย้งไวยากรณ์ ASP.NET MVC
ฉันมีเว็บไซต์ขนาดใหญ่ที่ทำงานใน ASP.NET MVC โดยใช้เอ็นจิ้นมุมมองมีดโกน ฉันมีสไตล์ชีทพื้นฐานซึ่งประกอบด้วยสไตล์ทั่วไปทั้งหมดสำหรับไซต์ทั้งหมด อย่างไรก็ตามในบางครั้งฉันมีรูปแบบเฉพาะของหน้าซึ่งใน&lt;head&gt;หน้า - โดยปกติจะเป็นหนึ่งหรือสองบรรทัด ฉันไม่ชอบใส่ CSS &lt;head&gt;เป็นพิเศษเพราะมันไม่ใช่การแยกข้อกังวลอย่างจริงจัง แต่สำหรับหนึ่งหรือสองบรรทัดที่เป็นจริงสำหรับหน้านั้นฉันไม่ต้องการแนบไฟล์อื่นและเพิ่มแบนด์วิดท์ ฉันมีอินสแตนซ์ที่ฉันต้องการใส่เคียวรีสื่อบันทึกของหน้าเฉพาะลงใน&lt;head&gt;แต่เนื่องจากเคียวรีสื่อใช้ @ สัญลักษณ์และวงเล็บปีกกา {} มันขัดแย้งกับไวยากรณ์ของมีดโกน: @section cphPageHead{ &lt;style&gt; /* PAGE SPECIFIC CSS */ ... @media only screen and (max-width : 960px) &lt;-- the @ symbol here is clashing! { ... } } &lt;/style&gt; } มีวิธีที่ฉันจะได้รับรอบนี้หรือไม่?


4
ASP.NET MVC3 - textarea ด้วย @ Html.EditorFor
ฉันมีแอพ ASP.NET MVC3 และฉันได้ฟอร์มสำหรับเพิ่มข่าวด้วย เมื่อ VS2010 สร้างมุมมองเริ่มต้นฉันมีเพียงอินพุตข้อความสำหรับข้อมูลสตริง แต่ฉันต้องการมี textarea สำหรับข้อความข่าว ฉันจะทำอย่างไรกับไวยากรณ์ของมีดโกน การป้อนข้อความมีลักษณะดังนี้: @Html.EditorFor(model =&gt; model.Text)

8
ViewBag, ViewData และ TempData
มีร่างกายใดสามารถอธิบายเมื่อใช้ TempData ViewBag ViewData ฉันมีข้อกำหนดที่ฉันต้องตั้งค่าในคอนโทรลเลอร์หนึ่งคอนโทรลเลอร์นั้นจะเปลี่ยนเส้นทางไปที่ Controller Two และ Controller Two จะแสดงมุมมอง ฉันได้ลองใช้ ViewBag แล้วค่าจะหายไปเมื่อฉันไปถึง Controller Two ฉันจะรู้ได้อย่างไรว่าจะใช้และข้อดีหรือข้อเสียเมื่อใด ขอบคุณ

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