有没有办法可以从.cs中调用(fadeIn或fadeOut)函数?
这就是我的情况 - 我有一个数据主义者的东西。当用户点击列表中的某些内容时,它会向他提供有关他点击的内容的详细信息,如果他需要,则会再次点击它。
现在,在第一次点击时,我将按钮的OnClientClick更改为fadeOut数据列表。 所以在第二次点击时(在他确认该项目之后)它就会淡出。
问题是 - 如果他点击一件事而不是点击另一件事,就会发生fadeOut。
答案 0 :(得分:1)
假设您有一个名为 foo 的javascript函数,并且您想在按钮单击事件上执行它。您可以使用以下代码:
protected void btnFoo_Click(object sender, EventArgs e)
{
if(!ClientScript.IsStartupScriptRegistered("foo"))
ClientScript.RegisterStartupScript(GetType(), "foo", "foo();", true);
}
答案 1 :(得分:0)
没有。您的C#代码仅在服务器上执行。
您需要另一种方式来告诉您的javascript运行。也许有关你想要完成什么的细节会有所帮助吗?
答案 2 :(得分:0)
没有。您的.cs文件将在服务器上运行,其中javascript在浏览器中的客户端计算机上运行。这意味着代码在不同的时间执行。您可以做的最好的事情是在将呈现的html返回到客户端的浏览器后,使用ClientScript.RegisterClientScriptBlock在页面上运行javascript。
我怀疑您可能想要在服务器上处理将调用fadeIn和fadeOut函数的事件。审核the asp.net page lifecycle以更好地理解为什么不可能这样做可能会有所帮助。
答案 3 :(得分:0)
有没有办法可以从.cs中调用(fadeIn或fadeOut)函数?
取决于。
如果您正在谈论使用ASP.Net生成响应的标准网页,那么不,服务器端C#执行创建请求,并且在请求完成时完成工作。
如果你想看一种称为长轮询的技术,那么你可以模拟这种类型的体系结构,实际上C#代码与Ajax一起控制一些客户端代码,例如以Comet为例:
Comet described at Wikipedia
最终,网络套接字将提供此类能力(除非更多的安全性挫折):
Web sockets described at Wikipedia
最后,如果您正在谈论涉及WebBrowser组件的Windows Phone 7开发,您可以调用javascript,如本文所示:
Invoking javascript in WebBrowser component