Solved

Javascript from ASP.NET code behind

Posted on 2009-05-06
1
1,088 Views
Last Modified: 2012-05-06
I want to a confirm popup box using javascript in my asp.net page using Page.RegisterClientScriptBlock (or similiar) . Here is how I want it to work.

when the user click "submit" button,  it should check that selectedindex on one of the dropdown is > 0. If so show a confirm pop up. If Ok is pressed continue with the next step and if cancel is pressed return. It would be nice if the javascript checks for the selectedindex of drop down rather then doing it via the code. I want all this done in the code behind and not on the html side of the form.
Thanks in advance.
0
Comment
Question by:pratikshahse
1 Comment
 
LVL 1

Accepted Solution

by:
CJMilner earned 500 total points
ID: 24321431
I think I understand what you're asking for, how about this.

This example only alerts the textbox but I'm sure you can write the Javascript to check the dropdown box. If not, let me know and I'll help. This example an anonymous function will execute "onreadystatechange" of the page, that way you're giving the page time to load the controls and not get a JS Object Not Found error or null reference.

Without knowing more about how you're storing data between steps and how you're getting to your next step ignoring the drop down logic I can't really help much with the next step forwarding.

Perhaps you could load the contexts of the form into a session array before executing the code behind below? in essense saving the data before checking the drop down, that way on the next page you have the previous page's data. Moving to the next page could be achieved through the javascript: window.location.href='page.aspx'; assuming the confirm is OK and not Cancel. If cancel, just return and page would not move, just essentially reload (or do nothing if the ajax is used). You could easily throw an alert if cancel is checked if you needed to communicate with the user.

First mark up will work without a page refresh as it's using an update panel (ajax), the third code block below is going to do a round trip to the server and reload the entire page. Your call what to use.

Hope all this makes sense!
Cheers
CM
//ASP.NET Markup with AJAX UpdatePanel and Script Manager
    <asp:ScriptManager runat="server" ID="S1"></asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="true">
        <Triggers>
            <asp:PostBackTrigger ControlID="Button1" />
        </Triggers>
        <ContentTemplate>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" 
            UseSubmitBehavior="False" />
      </ContentTemplate></asp:UpdatePanel>
 
 
//Code behind 
protected void Button1_Click(object sender, EventArgs e)
    {
        Page.RegisterClientScriptBlock
            ("block1","<script type=\"text/javascript\">document.onreadystatechange=function() {alert(document.getElementById('"+TextBox1.ClientID+"').value);}</script>");
    }
 
 
//Third Code block; Not AJAX
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" 
            UseSubmitBehavior="False" />

Open in new window

0

Featured Post

Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In an ASP.NET application, I faced some technical problems. In this article, I list them out and show the solutions that I found.  I hope it will be useful. Problem: After closing a pop-up window, the parent page should be refreshed automaticall…
A quick way to get a menu to work on our website, is using the Menu control and assign it to a web.sitemap using SiteMapDataSource. Example of web.sitemap file: (CODE) Sample code to add to the page menu: (CODE) Running the application, we wi…
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.
Email security requires an ever evolving service that stays up to date with counter-evolving threats. The Email Laundry perform Research and Development to ensure their email security service evolves faster than cyber criminals. We apply our Threat…

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question