ASP.NET MVC 2 محرر قالب القيمة أنواع الباحث
-
11-07-2019 - |
سؤال
أريد إنشاء MVC 2 محرر قالب نوع قيمة أيالباحث ، وقد أي شخص فعل هذا مع المعاينة 1 بت ؟
شكرا جزيلا
المحلول
ولم أحاول معاينة 1 بعد ولكن فعلوا ما كنت طالبا في هذا الفيديو channel9:
<وأ href = "http://channel9.msdn.com/posts/Glucose/Hanselminutes-on-9-ASPNET-MVC-2-Preview-1-with-Phil-Haack-and-Virtual-Scott/ "يختلط =" noreferrer نوفولو "> http://channel9.msdn.com/posts/Glucose/Hanselminutes-on-9-ASPNET-MVC-2-Preview-1-with-Phil-Haack-and-Virtual-Scott/
ويفعلون كل من DisplayFor وEditorFor، ويبدأ حوالي 2 دقيقة.
و- تحرير -
لنوع قيمة أي كثافة العمليات وكنت قادرا على الحصول على عمل في نفس الطريق.
وإنشاء نموذج لتمريرها إلى جهة نظري:
public class HomeController : Controller
{
public ActionResult Index()
{
HomeModel model = new HomeModel();
model.message = "Welcome to ASP.NET MVC!";
model.number = 526562262;
model.Date = DateTime.Now;
return View(model);
}
}
public class HomeModel
{
public string message { get; set; }
public int number { get; set; }
public DateTime Date { get; set; }
}
ومشاهدة الرابط للنموذج باستخدام منطق القالب الجديد:
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<HomeModel>" %>
<asp:Content ID="indexContent" ContentPlaceHolderID="MainContent" runat="server">
<p>
<% Html.EditorFor(c => c.message); %>
</p>
<p>
<% Html.EditorFor(c => c.number); %>
</p>
<p>
<% Html.EditorFor(c => c.Date); %>
</p>
وبعد إنشاء قالب لكل أنواع مثل Int32:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
Editor For My Int32: <%= Html.TextBox("abc", Model.ToString())%>
وأنا وضعت هذا في المشاهدات \ المشتركة \ EditorTemplates \ Int32.ascx
نصائح أخرى
وعمل الجواب ويل نيك كلارك عند تقديم القيم على إعادة النشر؟
في 2 MVC2 المعاينة، داعيا Html.Textbox ( "ايه بي سي"، Model.ToString ()) سوف تجعل النص مع ".abc" إلحاق اسم، على سبيل المثال
<input id="StartDate_abc" name="StartDate.abc" type="text" value="02 Feb 09" />
والذي سوف يسبب مشاكل عند إعادة النشر ومحاولة لUpdateModel ().
وفعلت قالب محرر لالتاريخ والوقت، الأعمال التالية بالنسبة لي:
و/Views/Shared/EditorTemplates/DateTime.ascx:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<DateTime>" %>
<%= Html.TextBox(String.Empty, Model.ToString("dd MMM yy")) %>
وأو استخدام منتقي التاريخ مسج لجميع DateTimes الخاص بك إضافة مرجع إلى مسج وjQueryUI إلى Masterpage إما أو لعرض تحتوي على الدعوة إلى EditorFor.
و/Views/Shared/EditorTemplates/DateTime.ascx:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<DateTime>" %>
<%= Html.TextBox("", Model.ToString("dd MMM yy")) %>
<script type="text/javascript">
$("#<%= ViewData.ModelMetadata.PropertyName %>").datepicker({ dateFormat: 'dd M y' });
</script>
<القوي> تحديث: ASP.NET MVC3 ، أو باستخدام بناء الجملة الشفرة:
@model System.DateTime
@Html.TextBox("", Model.ToString("dd MMM yy"))
<script type="text/javascript">
$("#@ViewData.ModelMetadata.PropertyName").datepicker({ dateFormat: 'dd M y' });
</script>
واستخدامه كل ما تحتاجه في عرض الخاص بك هو:
@Html.EditorFor(model => model.DueDate)
و-Matt
ولقد كتبت لبلوق وظيفة حول كيفية القيام بذلك عن طريق إنشاء قوالب قابلة لإعادة الاستخدام في MVC 2.
وظيفة لي يفسر أيضا العلاقة بين TemplateInfo
والقوالب.