在C#中没有调用Javascript函数动态创建按钮

时间:2015-09-18 12:49:12

标签: javascript c#

我在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);

2 个答案:

答案 0 :(得分:0)

//尝试使用它。

document.addEventListener('DOMContentLoaded', function () {
 document.getElementById ("btnMap").addEventListener ("click", setPropertyLocation, false);
});

答案 1 :(得分:0)

考虑通过JavaScript而不是C#创建此按钮。我假设您正在使用更新面板。更新面板是一团糟。他们不会更新DOM元素,只是摆脱旧的包装并创建一个全新的,设置为undefined对该包装中任何元素的所有JavaScript引用。

好吧,有时候我们没有时间重构解决方案,所以我们必须使用我们的工作。

您可以尝试为元素添加onclick属性,就像您对typetitle属性所做的那样。