jquery和服务器端控件的问题

MrSun 2011-11-02 02:46:43
用jquery实现单击按钮,div隐藏,按钮用的服务器端控件,单击事件没效果,换成客户端控件,就没事了。谁能帮我解答下,我必须要用服务器端控件的啊。

...全文
1166 34 打赏 收藏 转发到动态 举报
写回复
用AI写文章
34 条回复
切换为时间正序
请发表友善的回复…
发表回复
XQSoul 2011-11-07
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 touzilk 的回复:]
引用 2 楼 net_lover 的回复:
$("#<%=服务器端控件.ClientID%>")

id会变掉的,需要使用ClientID得到如Button1.ClientID
[/Quote]
Hello_benz 2011-11-05
  • 打赏
  • 举报
回复
你自己说搞定了跟jquery有什么关系么?
MrSun 2011-11-05
  • 打赏
  • 举报
回复
[Quote=引用 32 楼 hello_benz 的回复:]
你自己说搞定了跟jquery有什么关系么?
[/Quote]没关系了,不用jquery 了
小昭 2011-11-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 net_lover 的回复:]
$("#<%=服务器端控件.ClientID%>")

id会变掉的,需要使用ClientID得到如Button1.ClientID
[/Quote]

正解,用了母版页的时候,需要用$("#<%=服务器端控件.ClientID%>")
这个方式去获取元素
MrSun 2011-11-03
  • 打赏
  • 举报
回复

搞定了,真纠结
hufenglongyy 2011-11-03
  • 打赏
  • 举报
回复
[Quote=引用 28 楼 kaowenhan 的回复:]
太纠结了,获取div很简单,jquery有很多方法。但是服务器控件又submit功能,所以不能显示,把onsubmit给个return false;div中又不显示数据了。
[/Quote]
用jquery的ajax方法,你不就可以用客户端的控件了!
MrSun 2011-11-03
  • 打赏
  • 举报
回复
太纠结了,获取div很简单,jquery有很多方法。但是服务器控件又submit功能,所以不能显示,把onsubmit给个return false;div中又不显示数据了。
MrSun 2011-11-02
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 net_lover 的回复:]
你还说id没变,你看看你的浏览器源代码里面有id=btnPro吗??
[/Quote]
id变了,可是我把div的默认设置为可见,就可以关闭,也可以打开了,不过不是渐进的,所以fadein那个方法还是每调用。
现在下班了,明天上班的时候我试试你教我的方法,谢谢了。
孟子E章 2011-11-02
  • 打赏
  • 举报
回复
if (e.Row.RowType == DataControlRowType.DataRow)
{
ImageButton btnPro = e.Row.FindControl("btnPro") as ImageButton;
btnPro.OnClientClick="$('.yc').fadeIn('show');return false;";

}

也是可以的
Specialaspnet 2011-11-02
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 touzilk 的回复:]

引用 2 楼 net_lover 的回复:
$("#<%=服务器端控件.ClientID%>")

id会变掉的,需要使用ClientID得到如Button1.ClientID

必须对着
[/Quote]

那是必须的
指间的风 2011-11-02
  • 打赏
  • 举报
回复
OnClientClick 事件
孟子E章 2011-11-02
  • 打赏
  • 举报
回复
你应该

cs里面写

public StringBuilder s = new StringBuilder();

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
ImageButton btnPro = e.Row.FindControl("btnPro") as ImageButton;
s.Append("'" + btnPro.ClientID + "',");
}
}


<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" OnRowDataBound="GridView1_RowDataBound">

然后aspx里面

<script src="jquery-1.6.4.min.js" type="text/javascript"></script>
<script type="text/javascript">
var ids = [<%=s.ToString().TrimEnd(',') %>];
$(document).ready(
function()
{
for(i=0;i<ids.length;i++)
{
$("#" +ids[i]).onclick=function()
{
//////
}
}
}
)
</script>

类似这样
andrewsway 2011-11-02
  • 打赏
  • 举报
回复
你就让客户端控件runat=server不就可以在服务器端控制了
thinclient 2011-11-02
  • 打赏
  • 举报
回复
学习了
孟子E章 2011-11-02
  • 打赏
  • 举报
回复
你还说id没变,你看看你的浏览器源代码里面有id=btnPro吗??
MrSun 2011-11-02
  • 打赏
  • 举报
回复
div默认display:nonw
MrSun 2011-11-02
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 net_lover 的回复:]
你贴你自己机器上的图片谁看得见啊
[/Quote]
晕了,这回可以看到了吧
MrSun 2011-11-02
  • 打赏
  • 举报
回复



孟子E章 2011-11-02
  • 打赏
  • 举报
回复
你贴你自己机器上的图片谁看得见啊
zou0702tao 2011-11-02
  • 打赏
  • 举报
回复
图片没有一张看得见!
加载更多回复(14)

62,046

社区成员

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

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

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

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