我正在构建一个包含占位符的动态用户控件(ascx)。在占位符内部,将有n个表。在每个表中,在其中一个单元格中,我有一个链接按钮,如下所示。
新建lnkButton = HyperLink HyperLink();lnkButton.ID = "lnkButton_“+ ID.ToString();lnkButton.Text = tstText;lnkButton.NavigateUrl = "javascript:JS_Click();";
我必须在点击链接按钮时调用JS函数(无回发)。
在JS函数中,我必须获取调用该JS函数的控件的id。在本例中,它将是链接按钮。我在JS函数中编写了以下代码:
var ctrl = event.srcElement.id;
但是我在javaScript中得到了'Object Required‘错误。
其他几件事:这个用户控件将加载到default.aspx页面和我用default.aspx编写的JS函数中。
我不确定为什么这不起作用。我使用的是IE6/7,VS 2005。是否有其他可用的函数或方法来获取srcElement.id。请帮帮忙。
发布于 2010-08-03 01:02:03
尝试在调用该方法时传递this
lnkButton.NavigateUrl = "javascript:JS_Click(this);";然后,您可以在JS_Click事件中编写以下代码
function JS_Click(obj)
{
alert("Now I have my object " + obj.id);
}发布于 2010-08-03 01:42:15
另一种选择是使用jQuery并连接到链接按钮上的click事件。
将CssClass属性添加到要创建的LinkButton中:
HyperLink lnkButton = new HyperLink();
lnkButton.ID = "lnkButton_" + ID.ToString();
lnkButton.Text = tstText;
lnkButton.CssClass = "linkButton";然后在你的ASPX页面中编写下面的JS/ JQuery:
$(document).ready(function()
{
$('.linkButton', '#userControlID').click(function(e)
{
alert('You clicked linkbutton with ID ' + e.target.id);
});
});在上面的例子中,每个链接按钮都有class="linkButton“,它们包含在你的用户控件中,ID=是”userControlID“。
https://stackoverflow.com/questions/3389969
复制相似问题