我在C#中动态创建了按钮并添加了客户端事件
但是这个函数没有被调用而是得到错误:
Uncaught ReferenceError: setPropertyLocation is not defined
使用Javascript:
function setPropertyLocation() {
alert('Hello');
}
C#:
btnMap.Attributes.Add("type", "button");
btnMap.Attributes.Add("title", "Map");
btnMap.UseSubmitBehavior = false;
btnMap.OnClientClick = "setPropertyLocation();return false";
btnMap.ID = "btnMap" + objPMPropTypestructure.PMFields[fieldcnt].SystemName;
btnMap.CssClass = "dataButton";
btnMap.Text = "G";
btnMap.Enabled = true;
tablecell.Controls.Add(btnMap);
答案 0 :(得分:0)
//尝试使用它。
document.addEventListener('DOMContentLoaded', function () {
document.getElementById ("btnMap").addEventListener ("click", setPropertyLocation, false);
});
答案 1 :(得分:0)
考虑通过JavaScript而不是C#创建此按钮。我假设您正在使用更新面板。更新面板是一团糟。他们不会更新DOM元素,只是摆脱旧的包装并创建一个全新的,设置为undefined
对该包装中任何元素的所有JavaScript引用。
好吧,有时候我们没有时间重构解决方案,所以我们必须使用我们的工作。
您可以尝试为元素添加onclick
属性,就像您对type
和title
属性所做的那样。