사용자 지정 클래스 이름이 필요하므로 DateTime 템플릿을 재정의하려고합니다.내 템플릿을 존중하는 메타 태그를 만드는 방법은 무엇입니까?
그래서 내가
[DataType(DataType.Date)]
public DateTime Date { get; set; }
그래서 나는 확실하지 않다
@model System.DateTime
@Html.TextBox("", Model, new { @class = "date-picker" })
// 내보기 모델에 datetime.cshtml가 어떻게 그냥 내 메타 태그를 사용하기 위해/내 edittemplates이 있고 날짜 만 사용하십시오. 예, 그것을 하드 코딩 할 수 있고 Mode.ToShortDate()하지만 어쩌면 내가 ToLongdate() 한 번 원할 것입니다.
편집
나는 사람들이 혼란스러워지고 생각합니다. 먼저 기본 datetime을 재정의하는 이유를 보여주기 위해 클래스 이름을 무시했습니다.
이 클래스 이름을 하드 코딩하는 것은 나에게 해결책처럼 보이지 않는다. 왜 내가 정말로이 템플릿을 사용하고 대신 textboxfor()를 사용하는지 알아 내려고 노력하고있다.
문제는 "날짜"부분 만 표시하기 때문에 "날짜"를 문자열로 변경해야한다는 것입니다. 이제 문자열을 datetime으로 변환하여 나중에 db에 삽입 할 수있게되었습니다. 템플릿을 사용하여 datetime으로두고 변환을 저장할 수 있습니다.
제게는 모든 datetime에는 동일한 클래스 이름과 동일한 html 속성이 필요하다고 생각하는 것은 이상합니다. 이러한 editorFor()는 실제로 html 속성을 가져야합니다.
두 번째 내 전체 게시물이이. 나는 날짜 템플릿을 무시하고이
[DataType(DataType.Date)]
public DateTime Date { get; set; }
하지 않으면
는 렌더링 결과는 날짜 부분을 보여줍니다. 이제 datetime을 재정의하면 내 사용자 정의 항목을 추가 할 수 있고 위의 내용은 메타 태그를 존중하지 않고 전체 datetime을 렌더링합니다.
제 질문은 어떻게 만들어서 메타 태그를 사용합니까? 이후로 내가 가지고있는 모든 날짜 필드는 날짜 만 표시합니다. 그래서 하드 코딩 같은 것을 템플릿으로 바보가 될 것입니다.
이 정말 작동합니까 속성을? MVC ToLongDateString()에 대한 호출을 기반으로 템플릿을 식별 할 수 있습니까? – mare
ToLongDateString()에 대한 호출이 아니며 [UIHint] 특성에서 제공하는 템플릿의 이름입니다. 이 예제에서는 Views/EditTemplates에서 "ToLongDate"라는 템플릿을 찾을 것입니다. 나는 무엇이라도 부를 수 있었지만 그것을 해결하고 있던 문제와 관련되게하고 싶었다. 그래서 우리는 "ToShortDate"라는 다른 템플릿을 만들 수 있습니다. – davidferguson
그리고 이것이 가장 좋은 방법이라고 생각하지 않습니다. 누군가 언젠가 그가 독일, 영국, 미국 및 일본 날짜를 가질 필요가 있다고 결정한다면 어떨까요? 형식이 지원됩니까? * n * 개의 템플릿을 만들 계획입니까? @ Html.Text ("", Model.ToLongDateString(), ...)의 – mare