在Razor MVC EditorTemplate中清除值

时间:2011-02-24 08:51:35

标签: asp.net-mvc-3 razor

我想使用MVC3和Razor创建Date,Time和DateTime EditorTemplate。

现在,让我们关注时间(我可以稍后修复剩余的模板)。

@model DateTime?

@using MyMvcApp.Properties

@Html.DropDownListFor(model => model.Value.Hour, new SelectList(new[] {"00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23" },
    Model.HasValue ? Model.Value.Hour.ToString("D2") : "00"), null, new { style = "width: auto; margin-left: 5px;" })
:
@{
    List<string> availableMinutes = new List<string>();
    for (int minute = 0; minute < 60; minute += 1)
    {
        availableMinutes.Add(minute.ToString("D2"));
    }

    @Html.DropDownListFor(model => model.Value.Minute, new SelectList(availableMinutes, Model.HasValue? Model.Value.Minute.ToString("D2") : "00"), null, new { style = "width: auto" });
}


<img alt="@Resources.SelectTime" src="../../../images/icon_clock_2.gif" style="margin-right: 5px" />

<input id="clearDate" type="button" value="@Resources.Clear" class="ui-state-default" />

重点是:如何清除此编辑器模板的值?我可以添加一个清除ID值的脚本,但是会清除所有相同类型的editortemplates。

所以我的问题是:只有在点击clearDate按钮时,如何清除此模板的所有值(小时和分钟)?

提前致谢!

1 个答案:

答案 0 :(得分:2)

您可以将整个模板包装在div容器中,然后使用jQuery在上下文中将DOM转移到clearDate按钮。我是从记忆中做到的,但它会是这样的:

$(this).parent().children().contents().find("#hourElement").val("");