后台调用前台JavaScript函数,

-Arvin 2012-11-05 02:39:53
<div id="com_menu">
<ul>
<li class="imgs" onclick="onClickMenuHandle(0,0);" onmouseover="mouse_over(0);"><img src="images/Seller/20121031174655.jpg" alt="1" /></li>
<li class="imgs" onclick="onClickMenuHandle(0,1);" onmouseover="mouse_over(1);"><img src="images/Seller/20121031174740.jpg" alt="2" /></li>
<li class="imgs" onclick="onClickMenuHandle(0,2);" onmouseover="mouse_over(2);"><img src="images/Seller/20121028173551.jpg" alt="3" /></li>
<li class="imgs" onclick="onClickMenuHandle(1,3);" onmouseover="mouse_over(3);"><img src="images/Seller/20121028173511.jpg" alt="4" /></li>
</ul>

请问我能不能在后台获取img的 alt的值然调用 他的img所在的li里的onclick的js函数onClickMenuHandle(1,3);
我的alt中绑定的是数据库中的ID;目的是根据ID判断元素然后再调用它的li中的js函数。求解决方法
...全文
196 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
insus 2012-11-06
  • 打赏
  • 举报
回复
色拉油 2012-11-05
  • 打赏
  • 举报
回复
RegisterStartupScript
yanggangqiang520 2012-11-05
  • 打赏
  • 举报
回复
ASP.NET后台中调用前台Javascript函数的几种方法 做web开发,用的技术是aspx.net,可是由于比较习惯于ASP现在做起来,觉得非常别扭,原因在于有很多功能其实在前台可以处理的,但是因为用到了很多webcontrol,导致不断postback。如果利用ajax来处理可能会好些。目前只能通过在后台对这些控件绑定前台的javascript函数来支持前台的处理函数。在网上找了找,发现了几种方法可以达到要求: 第一种,感觉用起来最方便 Button1.Attributes.Add("onclick", "return OnBtnClick()"); “OnBtnClick() “是一个前台方法,在此方法中直接在前台处理数据。可以替换成一般的脚本 第二种,OnClientClick <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="OnClientClick()" OnClick="Button1_Click" /> Button1_Click是在cs中(后台)处理的方法,而OnClientClick() 就是javascript(前台)的处理函数。 第三种 用ClientScript类动态添加脚本 用法如下:在想调用某个javascript脚本函数的地方添加代码,注意要保证MyFun已经在脚本文件中定义过了。 ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script>MyFun();</script>"); 这个方法比Response.Write更方便一些,可以直接调用脚本文件中的自定义函数。 第四种,ClientScript.RegisterStartupScript 例子:StringBuilder sb = new StringBuilder(); sb.Append("<script language='javascript'>"); sb.Append("Button2_onclick('" + serverPath + "')"); sb.Append("</script>"); ClientScript.RegisterStartupScript(this.GetType(), "LoadPicScript", sb.ToString()); 第五种. 用Response.Write方法写入脚本 比如在你单击按钮后,先操作数据库,完了后显示已经完成,可以在最后想调用的地方写上 Response.Write("<script type='text/javascript'>alert();</script>"); 这个方法有个缺陷就是不能调用脚本文件中的自定义的函数,只能调用内部函数,具体调用自定义的函数只能在Response.Write写上函数定义,比如Response.Write("<script type='text/javascript'>function myfun(){...}</script>"); 这种方法不断可以从后台绑定前台的方法,还可以从cpp语言环境中绑定前台的方法
-Arvin 2012-11-05
  • 打赏
  • 举报
回复
这是前台: <script type="text/javascript"> var arr = []; var C_Id ; var S_Id ; $(document).ready(function () { $.post("SellerInfoHandler.ashx",{M_ID:"1"}, function (data) { data = eval(data); // 主要在于 eval 这个函数 var length = data.length; for (var i = 0; i < length; i++) { arr[i] = { src1: "images/Seller/" + data[i]["S_Ico"], src2: "images/Seller/" + data[i]["S_picture"], title: data[i]["S_Name"], address: data[i]["S_Address"], tel: data[i]["S_Phone"], time: "<span style='display: block;padding-bottom: 5px;'>" + data[i]["S_BusinessHours"] + "</span>", url: data[i]["S_Website"], remark: data[i]["Remark"], S_Id: data[i]["S_Id"], C_Id: data[i]["C_Id"] }; } }); function onClickMenuHandle(id, img_id) { var divv = document.getElementById("com_content"); var divvv = divv.getElementsByTagName("div")[0]; $("#qiehuanFocus2").removeClass("qiehuanFocus"); $("#qiehuanFocus1").addClass("qiehuanFocus"); C_Id = arr[img_id].C_Id; S_Id = arr[img_id].S_Id; var jieshao = document.getElementById("jieshao"); jieshao.style.display = "none"; divv.parentNode.style.zIndex = 10; divv.style.display = "block"; divv.style.top = "5px"; divv.style.zIndex = 1000; divvv.getElementsByTagName("img")[0].src = arr[img_id].src1; divvv.getElementsByTagName("img")[1].src = arr[img_id].src2; divvv.getElementsByTagName("p")[0].innerHTML = arr[img_id].title.replace(/<\s*br\s*\/>/, " "); divvv.getElementsByTagName("p")[1].innerHTML = arr[img_id].address; divvv.getElementsByTagName("p")[2].innerHTML = arr[img_id].tel; divvv.getElementsByTagName("p")[3].innerHTML = arr[img_id].time; divvv.getElementsByTagName("p")[4].getElementsByTagName("a")[0].innerHTML = arr[img_id].url; divvv.getElementsByTagName("p")[4].getElementsByTagName("a")[0].href = "http://" + arr[img_id].url; divvv.getElementsByTagName("p")[5].innerHTML ="  "+arr[img_id].remark; var doc = $(".xuanfu"); doc.remove(); var doc = $(".xuanfu_click"); doc.remove(); var str = '<div class="xuanfu_click"><p>' + arr[img_id].title + '</p><p><a style="text-decoration : underline;color: #FFFFFF;" href="#">' + arr[img_id].address + '</a></p></div>'; var doc = $(".imgs")[img_id]; doc.innerHTML += str; if (id == 0) { divv.style.left = null; divv.style.right = "35px"; } else { divv.style.right = null; divv.style.left = "4px"; } } 这个是单击显示效果,但是现在是另外一个页面传参的查询,就是查哪个页面加载好之后com_content就显示哪个的内容。而不是需要点击
  • 打赏
  • 举报
回复
既然如此,你可以把ID传递给onClickMenuHandle方法在绑定的时候,然后在方法内部根据传来的ID在利用JS判断,也没必要走后台.

62,073

社区成员

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

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

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

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