سؤال

أريد إنشاء 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 والقوالب.

لقد وجدت براد ويلسون بلوق أن يكون أفضل الأمثلة والشروح. الجزء-3 المسلسل يتحدث تحديدا عن أنواع قيمة (سلسلة العشرية ، Int32).

استمتع!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top