将控制ID从后面的代码传递给javascript

时间:2011-08-17 05:22:31

标签: javascript asp.net

我正在制作动态图像,其中文件夹的图像列在div中 我希望通过javascript增加onclick的大小。

我正在从代码隐藏中分配onclick事件,如此

   int count = ds.Tables[0].Rows.Count; ;
             for (int i = 0; i < count; i++)
            {
                ImageButton img = new ImageButton();
                img.ID = "projectimg" + i.ToString();
                img.ImageUrl = ds.Tables[0].Rows[i][0].ToString();
                img.Height = 120;
                img.Width = 120;
                img.ToolTip = ds.Tables[0].Rows[0][1].ToString();
                img.OnClientClick = "incsize('" + "contentPlace_" + img.ID + "')";
              }

其中incsize是我在JavaScript中的功能

function incsize(imgid)
{
    alert("jjj");
    //do some thing here as
    var img = document.getElementById(imgid);
}

但这不起作用。这段代码有什么问题?

2 个答案:

答案 0 :(得分:1)

<击> 试试这个。

假设你的aspx中有一个Image就像这样。

<asp:Image ID="MyImage" runat="server" ImageUrl="~/some-image.png"/>

像这样在后面的代码上分配像这样的JavaScript onclick属性。

string script = String.Format("javascript:return incsize('{0}');", MyImage.ClientID);
MyImage.Attributes.Add("onclick", script);

现在用这样的JavaScript调用它。

function incsize(imgid) {
    //alert("jjj");
    //do some thing here as
    var img = document.getElementById(imgid);
}

<击>


请在将来的问题中清楚地询问您的想法。

在循环中执行此操作。

ImageButton img = new ImageButton(); //Image img = new Image(); 
img.ID = "projectimg" + i.ToString(); 
img.ImageUrl = ds.Tables[0].Rows[i][0].ToString(); 
img.Height = 120; 
img.Width = 120; 
img.ToolTip = ds.Tables[0].Rows[0][1].ToString();
img.ClientIDMode = System.Web.UI.ClientIDMode.Static;
string script = String.Format("javascript:return incsize('{0}');", img.ID);
img.Attributes.Add("onclick", script);

答案 1 :(得分:0)

测试一下:

img.OnClientClick = "incsize('" + "contentPlace_" + img.ID + "')";

你忘了单引号