我想用 JQuery 从 EditorTamplates 中制作一个日历。但我正在努力获取来自 Html.TextBoxFor 的输入文本的 id。由于我希望在一个视图上拥有多个日历,因此我无法直接分配该值,而必须遵循我的控件的上下文。
风景 :
<%@ Control
Language="C#"
Inherits="MvcContrib.FluentHtml.ModelViewUserControl<DateTimeModel>" %>
<%= Html.LabelFor(x=>x.Date) %>
<%= Html.TextBoxFor(x=>x.Date, new { @class="common-textbox-ui-calendar-tb"})%>
<script>
var CalendarTBId = '<%= this.IdFor(x=>x.Date) %>';
</script>
和模型:
public class DateTimeModel
{
public DateTime Date { get; set; }
public bool IsEnabled { get; set; }
}
到目前为止,我已经尝试过使用 MvContrib,但是当我期望获得“Filter_StartDate_Date”时,我只收到“Date”。
你有什么好主意来解决这个问题吗?
提前致谢,
[编辑]
我在视图中添加了以下内容:
<% Guid ControlGuid = Guid.NewGuid(); %>
<%= this.TextBox(x=> x.Date.ToShortDateString()).Id(ControlGuid.ToString()) %>
<script>
var CalendarTBId = '<%= ControlGuid %>';
</script>
但我非常不喜欢它。对我来说,这看起来像是对视图的破解。你怎么看?
[/编辑]