C# 日期时间->;文本框(jquery!)->;编辑器(DateTime.ascx)>;添加javascript事件。怎么用?
我定义了这个DateTime.ascxC# 日期时间->;文本框(jquery!)->;编辑器(DateTime.ascx)>;添加javascript事件。怎么用?,c#,asp.net-mvc-2,C#,Asp.net Mvc 2,我定义了这个DateTime.ascx <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<System.DateTime?>" %> <%: Html.TextBox( string.Empty, (Model.HasValue ? Model.Value.ToString("dd.MM.yyyy") : string.Empty),
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<System.DateTime?>" %>
<%: Html.TextBox( string.Empty,
(Model.HasValue ? Model.Value.ToString("dd.MM.yyyy") : string.Empty),
new { @class = "whatever"
}
)%>
而aspx站点看起来是这样的:
<%: Html.EditorFor(model => model.Data.birthday) %>
model.Data.birth)%>
现在的想法是调用javascript函数“ABC()”
当文本框失去焦点时(表示“onBlur”事件)
(理想情况下:trextbox的值被传递给被调用的函数“ABC(birtday.value)”)
但是我不想更改DateTime.ascx以使所有(!)EditorFor(用于DateTime)都有一个javascript函数调用
我的尝试:
这个
model.Data.birthday,“onBlur='javascript:ABC();',“birthday”)%%>
导致
<input class="whatever" id="birthday" name="birthday" type="text" value="25.08.2010" />
但是onBlur/javascript函数调用未设置
及
model.Data.birthday,新的{onClick=“javascript:ShowHideC1();”})%>
也不行
(下一步就是这个文本框“当然”是一个jquery日期选择器;-)也许这可以帮助您:
也许这可以帮助您:
是的,回答自己的问题是愚蠢的,但我想分享我的知识 解决方案: 不要使用
Html.EditorFor
<%: Html.TextBoxFor(model => model.Data.birthday, new { onBlur="javascript:ABC();"} )%>
使用文本框进行
<%: Html.TextBoxFor(model => model.Data.birthday, new { onBlur="javascript:ABC();"} )%>
model.Data.birthday,新的{onBlur=“javascript:ABC();”})%>
使用TextBoxFor表示不使用DateTime.ascx。
当控制器中的“…生日”设置为非空值时,输出的格式与DateTime.ascx中定义的格式不同。也表示将显示小时、分钟和时间。
但是增加了OnBlur事件!这就是目标 是的,回答自己的问题很愚蠢,但我想分享我的知识
解决方案:
不要使用Html.EditorFor
<%: Html.TextBoxFor(model => model.Data.birthday, new { onBlur="javascript:ABC();"} )%>
使用文本框进行
<%: Html.TextBoxFor(model => model.Data.birthday, new { onBlur="javascript:ABC();"} )%>
model.Data.birthday,新的{onBlur=“javascript:ABC();”})%>
使用TextBoxFor表示不使用DateTime.ascx。
当控制器中的“…生日”设置为非空值时,输出的格式与DateTime.ascx中定义的格式不同。也表示将显示小时、分钟和时间。
但是增加了OnBlur事件!这就是目标 您可以使用Html.EditorFor,但必须单独绑定事件:
$(document).ready(function () {
// bind events to template editors
$("#Data_birthday").bind('blur', ABC);
$("#Data_birthday").bind('click', ShowHideC1);
}
您可以使用Html.EditorFor,但必须单独绑定事件:
$(document).ready(function () {
// bind events to template editors
$("#Data_birthday").bind('blur', ABC);
$("#Data_birthday").bind('click', ShowHideC1);
}
谢谢你的快速回复。但是“刚刚”解释了如何处理/扩展日期选择器。我需要一种在日期选择器失去焦点时调用javascript函数ABC()的方法。好啊我可以(以某种方式)扩展已经存在的5个jquery事件。但是我在提出这个新添加的jquery事件时遇到了问题?(我们在兜圈子,不是吗?)谢谢你的快速回复。但是“刚刚”解释了如何处理/扩展日期选择器。我需要一种在日期选择器失去焦点时调用javascript函数ABC()的方法。好啊我可以(以某种方式)扩展已经存在的5个jquery事件。但是我在提出这个新添加的jquery事件时遇到了问题?(我们在盘旋,不是吗?)