2012-03-16 121 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