Javascript ASP.Net:onload事件能否应用于控件
我有一些这样的代码:Javascript ASP.Net:onload事件能否应用于控件,javascript,asp.net-mvc,Javascript,Asp.net Mvc,我有一些这样的代码: return helper.DropDownList(data.ModelEntityId.ToString(), selectList, null, new { onchange = onChange }); 其中onChange变量可以为空,也可以从某些元数据加载。这是可行的,但是我也希望将javascript函数应用于该控件的onload事件 是否有方法将onload事件应用于控件?我尝试了以下方法,即使没有错误,也不起作用 return helper.DropD
return helper.DropDownList(data.ModelEntityId.ToString(), selectList, null, new { onchange = onChange });
其中onChange变量可以为空,也可以从某些元数据加载。这是可行的,但是我也希望将javascript函数应用于该控件的onload事件
是否有方法将onload事件应用于控件?我尝试了以下方法,即使没有错误,也不起作用
return helper.DropDownList(data.ModelEntityId.ToString(), selectList, null, new { onchange = onChange, onload = onChange });
通过谷歌搜索,我只能找到应用于整个视图的onload事件的引用。这对我不起作用,因为我调用的任何javascript都应用于视图上的单个数据项,而不是整个视图本身。为什么不向视图添加javascript代码,如(jQuery)
MVC没有一些钩子来钩住控件的onLoad事件。您将javascript事件附加到document.ready事件,而不是对象上。经过一些尝试和错误,我编写了以下代码:
function pageLoad() {
var script;
<%foreach(var item in Model.Record) { %>
<%if (item.Value.ModelEntity.ModelItem.ModelCustomOnChange != null) { %>
script = <%=item.Value.ModelEntity.ModelItem.ModelCustomOnChange.OnChangeScript%>;
if (eval('typeof(' + script + ')') == 'function') {
eval(script + '("' + parm1 + '", "' + parm2 + '");');
}
else {
alert('JavaScript function "' + script + '" could not be found. No attempt was made to call the function.');
}
<% } %>
<% } %>
函数pageLoad(){
var脚本;
脚本=;
如果(eval('typeof('+script+'))=='function'){
eval(script+'(“'+parm1+'”、“'+parm2+'”;”);
}
否则{
警报(“找不到JavaScript函数“+”脚本+”。未尝试调用该函数。”);
}
是的,我想这可能是我必须走的路…我如何从字符串调用函数?也就是说,我有一个变量(我们称它为varFunction),它包含一个字符串-这是函数名。
function pageLoad() {
var script;
<%foreach(var item in Model.Record) { %>
<%if (item.Value.ModelEntity.ModelItem.ModelCustomOnChange != null) { %>
script = <%=item.Value.ModelEntity.ModelItem.ModelCustomOnChange.OnChangeScript%>;
if (eval('typeof(' + script + ')') == 'function') {
eval(script + '("' + parm1 + '", "' + parm2 + '");');
}
else {
alert('JavaScript function "' + script + '" could not be found. No attempt was made to call the function.');
}
<% } %>
<% } %>