2012-03-16 123 views
1

的我如何提交一个ASP.NET表单后执行JavaScript后执行JavaScript代码?提交asp.net形式

例如,如果我提交页面后提交按钮,然后点击我要显示我已经隐藏页面上的DIV。

+0

OnClientClick不做你需要它做什么? – Gobbledigook 2012-03-16 15:22:48

+1

您正在使用的WebForms或MVC?您是通过回传还是使用JavaScript提交表单? – 2012-03-16 15:23:14

+1

我有这样的形式被发送到一边断绝与提交RUNAT =“服务器”选项按钮。在submision之前点击执行。 – 2012-03-16 15:24:48

回答

1

如果你只想隐藏的DIV转换为再一个可见可以在服务器端完成。在aspx中,给div一个id和一个runat =“server”。然后在服务器端,将其显示样式属性设置为“block”。

divTest.Style["display"] = "block"; 

如果你只是想发出后的脚本:例如,假设下面给出的DIV定义为

<div id="divTest" runat="server" style="display:none;"> 
     This is a div test 
</div> 

然后在提交按钮,你可以设置它的风格的事件后然后使用您可以使用的ScriptManager:

ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "ScriptRegisterTest", "alert('Testing');", true); 
+0

太多的代码什么都不做。 – Aristos 2012-03-16 16:00:46

1

也许我不理解你的问题,但如果你要回服务器,并做了一些处理,你为什么需要JavaScript的?只需将runat =“server”添加到所讨论的div中,并在处理后使其可见即可。

<div id="YourDiv" runat="server" Visible="false" > 
    ...Whatever is here 
</div> 

代码背后:

protected void Button_Click(object sender, EventArgs e) 
{ 
    /* 
    Your Logic Here 
    */ 
    YourDiv.Visible = true; 
} 
2

由于您使用的是完全回发,你可以很容易地从包含的代码隐藏的JavaScript。

放置一个占位符

<asp:Placeholder ID="javascriptPlaceholder" runat="server" Visible="false"> 
<%-- Your Javascript here --> 
</asp:Placeholder> 

我在你的OnClick处理方法,假设里面你的JavaScript代码,你所得到的表价值和做其他事吧。在这种方法中,你可以设置占位符的财产看得到:

this.javascriptPlaceholder.Visible = true; 
+0

这是解决问,而不是具体的例子情况下的一般问题的唯一答案。 – lathomas64 2013-08-12 19:48:40