Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 日期时间->;文本框(jquery!)->;编辑器(DateTime.ascx)>;添加javascript事件。怎么用?_C#_Asp.net Mvc 2 - Fatal编程技术网

C# 日期时间->;文本框(jquery!)->;编辑器(DateTime.ascx)>;添加javascript事件。怎么用?

C# 日期时间->;文本框(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),

我定义了这个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), 
                    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事件时遇到了问题?(我们在盘旋,不是吗?)