读书人

[有关问题]令超链接lt;agt;标签触发事件

发布时间: 2013-03-01 18:33:02 作者: rapoo

[问题]令超链接<a>标签触发事件
页面需动态添加多个超链接,且每个超链接引发同一事件函数,给该事件传递不同参数。

查到资料,可以用onclick=__doPostBack加上javascript完成,我是这么写的:

//aspx文件中 
<a id="ff" onclick="__doPostBack('this',1)" runat="server" class="buttonLink" >try</a>

//插入的html代码
<script language="javascript" type="text/javascript">
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)){
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
</script>


//cs文件中:
protected void Page_Load(object sender, EventArgs e)
{

if (Page.IsPostBack) {
int Fid=Int32.Parse(Request.Form["__EVENTARGUMENT"]);
Session["Fid"]=Fid;
Response.Redirect("SingleItem.aspx");
}
}


代码添加后,点击超链接,能运行成功。
但手贱不知道改动了什么后,点击超链接就没反应了,目测是没有执行javascript代码。
大半夜脑子糊,看半天不知道为什么。
求指教!
[解决办法]
runat="server"去掉, 你分明用的前台事件
[解决办法]
引用:
多谢回复。
再问一下 怎么通过onserverclick传递不同的参数到那个事件?


引用:你动态生成的<a>都是runat="server",直接onserverclick指定到后台同一个事件不行吗

你可以给每个a绑定一个属性,如id,然后在后台事件里通过获取sender(即<a>的对象)的id属性来判断

读书人网 >asp.net

热点推荐