此帖必火!如何让标签像Button控件一样回传和执行onclick

ms2011 2010-03-11 11:19:46
我在后台生成了几个<img onclick=“”>这样子,但是onclick里只能放前台代码(JavaScript),怎么在后台执行(c#)呢?
...全文
1348 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenyunkun2008 2010-03-11
  • 打赏
  • 举报
回复
引用 16 楼 assiwe 的回复:
runat="server" html控件添加这个属性就可以在后台控制了


这个方法不错
阿非 2010-03-11
  • 打赏
  • 举报
回复

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:Label ID="lbl" runat="server"></asp:Label>
<br />
<asp:Literal ID="lit" runat="server"></asp:Literal>
</form>
</body>
</html>


Implements Interface IPostBackEventHandler


protected void Page_Load(object sender, EventArgs e)
{

string html = "";
for (int i = 1; i < 5; i++)
{
html += string.Format("<img id='img{0}' onclick={1} /> ", i, ClientScript.GetPostBackEventReference(this, "img" + i.ToString()));
}
lit.Text = html;
}

#region IPostBackEventHandler Members

void IPostBackEventHandler.RaisePostBackEvent(string eventArgument)
{

lbl.Text = "Postback handled by " + this.ID + ". <br/> Postback caused by " + eventArgument + ".";

//throw new NotImplementedException();
}

#endregion
ms2011 2010-03-11
  • 打赏
  • 举报
回复
引用 11 楼 ms2011 的回复:
引用 8 楼 daiyinzhu55555 的回复:放一个隐藏的服务器BTN id=btn1  ; JS  为 document.getElementById('btn1').click(); 这个方法我想应该可以了
引用 15 楼 ms2011 的回复:
引用 10 楼 koukoujiayi 的回复:如果要后台操作,最好用服务端控件! 如ImageButton等!!怎么传参数

引用错了,是11楼怎么传参数
guyehanxinlei 2010-03-11
  • 打赏
  • 举报
回复
1.动态加载服务器端控件并注册必要的服务器端事件
2.加载HTML控件时,想办法用Ajax
ms2011 2010-03-11
  • 打赏
  • 举报
回复
引用 19 楼 hrabeyond 的回复:
前台: <div id="imgbutton"runat="server">
后台:ImageButton ibtn = new ImageButton();
            ibtn.Click+=new ImageClickEventHandler(ibtn_Click);
            imgbutton.Controls.Add(ibtn);

这个或许我可以试试,实在不行就这样了,

其实我是想知道用js引发后台执行函数,比如点击<img> 执行img_onclick(object sender, EventArgs e)。
ms2011 2010-03-11
  • 打赏
  • 举报
回复
引用 16 楼 assiwe 的回复:
runat="server" html控件添加这个属性就可以在后台控制了

我的img是这样生成的
Label1.text=" <img onclick=''>" 添加后会生成html<img onclick='' runat="server">但不会被解析
wosizy 2010-03-11
  • 打赏
  • 举报
回复
没太明白意思!!!!
runat="server" 不就行了么!!!

要么就用Js 获取 控件的ID 然后.cilk();

手抓宝 2010-03-11
  • 打赏
  • 举报
回复
前台:<div id="imgbutton" runat="server">
后台:ImageButton ibtn = new ImageButton();
ibtn.Click+=new ImageClickEventHandler(ibtn_Click);
imgbutton.Controls.Add(ibtn);
ms2011 2010-03-11
  • 打赏
  • 举报
回复
引用 14 楼 zhujiazhi 的回复:
前台提交的
<img onclick=“submitForm();”>

function submitForm()
{
document.forms[0].submit();
}
前台提交后就能执行服务器端的c#函数了吗?我是想提交到本页,没有事件引发服务器端的函数啊
daiyinzhu55555 2010-03-11
  • 打赏
  • 举报
回复
隐藏 就是 高度 宽度 为 0 ,区分执行的事件 放个 hidden 记录值就可以了
assiwe 2010-03-11
  • 打赏
  • 举报
回复
runat="server" html控件添加这个属性就可以在后台控制了
ms2011 2010-03-11
  • 打赏
  • 举报
回复
引用 10 楼 koukoujiayi 的回复:
如果要后台操作,最好用服务端控件!
如ImageButton等!!
怎么传参数
zhujiazhi 2010-03-11
  • 打赏
  • 举报
回复
前台提交的
<img onclick=“submitForm();”>

function submitForm()
{
document.forms[0].submit();
}
mbh0210 2010-03-11
  • 打赏
  • 举报
回复
异步不就行了吗。。。。。。。
小猫阿尤 2010-03-11
  • 打赏
  • 举报
回复
<asp:ImageButton></ImageButton>
ms2011 2010-03-11
  • 打赏
  • 举报
回复
引用 8 楼 daiyinzhu55555 的回复:
放一个隐藏的服务器BTN id=btn1  ; JS  为 document.getElementById('btn1').click(); 
这个方法我想应该可以了
koukoujiayi 2010-03-11
  • 打赏
  • 举报
回复
如果要后台操作,最好用服务端控件!
如ImageButton等!!
ms2011 2010-03-11
  • 打赏
  • 举报
回复
如果用服务器控件,还能自动生成吗,如何让他显示在<div id="imgbutton"></div>里吗?
daiyinzhu55555 2010-03-11
  • 打赏
  • 举报
回复
放一个隐藏的服务器BTN id=btn1 ; JS 为 document.getElementById('btn1').click();
tkscascor 2010-03-11
  • 打赏
  • 举报
回复
__doPostBack("","");
or document.submit
加载更多回复(12)

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧