2009-08-03 16 views
6

मैं एक मान प्रकार i.e. int के लिए एक एमवीसी 2 संपादक टेम्पलेट बनाना चाहता हूं, क्या किसी ने इसे पूर्वावलोकन 1 बिट्स के साथ किया है?मूल्य प्रकारों के लिए एएसपी.नेट एमवीसी 2 संपादक टेम्पलेट, int

बहुत धन्यवाद

उत्तर

4

मैं अभी तक पूर्वावलोकन 1 प्रयास नहीं किया है लेकिन उन्होंने किया क्या आप इस Channel9 वीडियो में के लिए पूछ रहे हैं:

http://channel9.msdn.com/posts/Glucose/Hanselminutes-on-9-ASPNET-MVC-2-Preview-1-with-Phil-Haack-and-Virtual-Scott/

वे दोनों DisplayFor और EditorFor करते हैं, लगभग 2 मिनट शुरू होता है ।

--Edit--

मान प्रकार अर्थात लिए Int मैं यह एक ही तरीके से काम करने के लिए प्राप्त करने में सक्षम था।

एक मॉडल बनाने के लिए मेरे विचार करने के लिए पारित करने के लिए:

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

+0

वीडियो एक संदर्भ प्रकार (स्ट्रिंग) के आधार पर एक संपादक टेम्पलेट का निर्माण दिखाता है जो मूल्य प्रकार नहीं है। –

+0

डीन: मैंने अपना जवाब सुधार लिया, लेकिन मैंने अभी रिलीज नोट्स में देखा है कि मूल्य प्रकारों के साथ एक ज्ञात समस्या है। यह मेरे लिए ऊपर काम करना प्रतीत होता था, इसलिए यह सुनिश्चित न करें कि इससे क्या संबंधित है। –

+0

धन्यवाद निक, मैं अपने पृष्ठ घोषणा में मूल्य प्रकार घोषित कर रहा था, उदा। Inherits = "System.Web.Mvc.ViewUserControl " इसे हटाने से आपके उदाहरण के अनुसार समस्या हल हो जाती है। आपकी सभी मदद के लिए धन्यवाद –

15

विल निक क्लार्क की जवाब काम जब आप पोस्टबैक पर मूल्यों प्रस्तुत?

एमवीसी 2 पूर्वावलोकन 2 में, एचटीएमएल को कॉल करना। टेक्स्टबॉक्स ("एबीसी", मॉडल.ToString()) नाम पर संलग्न ".abc" के साथ एक टेक्स्टबॉक्स प्रस्तुत करेगा, उदा।

<input id="StartDate_abc" name="StartDate.abc" type="text" value="02 Feb 09" /> 

जो पोस्टबैक और अपडेटमोडेल() को अपडेट करते समय समस्याएं पैदा करेगा।

मैं दिनांक समय के लिए एक संपादक टेम्पलेट किया था, मेरे लिए निम्नलिखित काम करता है:

/Views/Shared/EditorTemplates/DateTime.ascx:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<DateTime>" %> 
<%= Html.TextBox(String.Empty, Model.ToString("dd MMM yy")) %> 

या, के लिए jQuery के DatePicker उपयोग करने के लिए अपने सभी डेटटाइम्स या तो अपने मास्टरपेज या संपादक को कॉल युक्त दृश्य में jQuery और jQueryUI का संदर्भ जोड़ें।

/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> 

अद्यतन: एएसपी।नेट 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) 

-मैट

2

मैं a blog post कैसे करना है के बारे में लिखा है यह एमवीसी 2 में पुन: प्रयोज्य टेम्पलेट्स बनाकर 2.

मेरी पोस्ट TemplateInfo और टेम्पलेट्स के बीच संबंधों को भी समझाती है।

1

मुझे ब्रैड विल्सन के blog को सर्वोत्तम उदाहरण और स्पष्टीकरण प्राप्त करने के लिए मिला है। श्रृंखला के Part-3 विशेष रूप से मूल्य प्रकारों (स्ट्रिंग, दशमलव, Int32) के बारे में वार्तालाप करते हैं।

आनंद लें!

संबंधित मुद्दे