none
Кнопка, передача информации от страницы к странице + javascript RRS feed

  • Вопрос

  • Есть кнопка

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
            Session("---") = ""
        End Sub
    

    есть функция javascript

    <script type="text/javascript">
        function openWin() {
           ---
        }
        </script>
    

    <asp:Button ID="Button1" runat="server" Text="---" 
                     Font-Size="Small" ForeColor="White"  OnClientClick=" openWin()"/>
    

    Но информация не передается на другую страницу,как можно сделать, чтобы в этом случае также сработал серверный код для кнопки?

    31 января 2012 г. 16:53

Ответы

  • > чтобы сначала выполнялась серверная часть, а потом функция openWin()
     
         

    [Test1.aspx]
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test1.aspx.cs" Inherits="WebApplication1.Test1" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <script type="text/javascript">
            function openWin()
            {
                setTimeout("alert(1)", 1000);
            }
        </script>
    </head>
    <body>
        <form runat="server">
        <asp:TextBox runat="server" ID="tb" Text="0" />
        <asp:Button OnClick="Test_Click" runat="server" Text="Test" ID="tst" />
        <a href="/Test2.aspx">test2</a>
        </form>
    </body>
    </html>
    
    

    [Test1.aspx.cs]
    using System;
    
    namespace WebApplication1
    {
        public partial class Test1 : System.Web.UI.Page
        {
            protected void Test_Click(object sender, EventArgs e)
            {
                tb.Text += "+1";
                ClientScript.RegisterClientScriptBlock(this.GetType(), "openWin", "openWin()", true);
                this.Session["someid"] = tb.Text;
            }
        }
    }
    
     
     
    [Test2.aspx]
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test2.aspx.cs" Inherits="WebApplication1.Test2" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <%= this.Session["someid"] %>
    </body>
    </html>
    
    
     
     
    [Test2.aspx.cs]
    using System;
    using System.Web.UI;
    
    namespace WebApplication1
    {
        public partial class Test2 : Page
        {
        }
    }
    
           
      
    • Предложено в качестве ответа Malobukv 1 февраля 2012 г. 7:48
    • Помечено в качестве ответа Program-s.g 1 февраля 2012 г. 7:48
    1 февраля 2012 г. 7:44

Все ответы

  • > Есть кнопка [...] как можно сделать, чтобы в этом случае также сработал серверный код для кнопки?

     

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test1.aspx.cs" Inherits="WebApplication1.Test1" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <script type="text/javascript">
            function openWin()
            {
                alert(1);
            }
        </script>
    </head>
    <body>
        <form runat="server">
        <asp:Button OnClick="Test_Click" runat="server" Text="Test" ID="tst" OnClientClick="openWin()" />
        </form>
    </body>
    </html>
    
    using System;
    
    namespace WebApplication1
    {
        public partial class Test1 : System.Web.UI.Page
        {
            protected void Test_Click(object sender, EventArgs e)
            {
            }
        }
    }
    
        

    • Предложено в качестве ответа Malobukv 31 января 2012 г. 18:22
    31 января 2012 г. 18:22
  • Все равно не передается информация, просто открывается страница
    31 января 2012 г. 19:03
  • > Все равно не передается информация, просто открывается страница


    при нажатии на кнопку вызывается функция openWin(), затем на сервер посылается запрос.
    какая информация должна передаваться на сервер?
      
        
     
    31 января 2012 г. 19:14



  • какая информация должна передаваться на сервер?
      
        
     
    Текст из лейбла, а как можно сделать так чтобы сначала выполнялась серверная часть, а потом функция openWin()
    1 февраля 2012 г. 5:19
  • Тогда вам нужно смотреть в сторону ajax запросов. Many ways to communicate with your database using jQuery AJAX and ASP.NET

    А для чего необходимость вызвать javascript именно после запроса на сервер?


    Для связи [mail]
    1 февраля 2012 г. 7:08
    Модератор
  • > чтобы сначала выполнялась серверная часть, а потом функция openWin()
     
         

    [Test1.aspx]
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test1.aspx.cs" Inherits="WebApplication1.Test1" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <script type="text/javascript">
            function openWin()
            {
                setTimeout("alert(1)", 1000);
            }
        </script>
    </head>
    <body>
        <form runat="server">
        <asp:TextBox runat="server" ID="tb" Text="0" />
        <asp:Button OnClick="Test_Click" runat="server" Text="Test" ID="tst" />
        <a href="/Test2.aspx">test2</a>
        </form>
    </body>
    </html>
    
    

    [Test1.aspx.cs]
    using System;
    
    namespace WebApplication1
    {
        public partial class Test1 : System.Web.UI.Page
        {
            protected void Test_Click(object sender, EventArgs e)
            {
                tb.Text += "+1";
                ClientScript.RegisterClientScriptBlock(this.GetType(), "openWin", "openWin()", true);
                this.Session["someid"] = tb.Text;
            }
        }
    }
    
     
     
    [Test2.aspx]
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test2.aspx.cs" Inherits="WebApplication1.Test2" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <%= this.Session["someid"] %>
    </body>
    </html>
    
    
     
     
    [Test2.aspx.cs]
    using System;
    using System.Web.UI;
    
    namespace WebApplication1
    {
        public partial class Test2 : Page
        {
        }
    }
    
           
      
    • Предложено в качестве ответа Malobukv 1 февраля 2012 г. 7:48
    • Помечено в качестве ответа Program-s.g 1 февраля 2012 г. 7:48
    1 февраля 2012 г. 7:44
  • А для чего необходимость вызвать javascript именно после запроса на сервер?


    Для связи [mail]
    Для комментирования записей , просто получается не красиво сразу поставить текстбоксы. А так  открываетя маленкое окно с помощью javascript, где есть информация что комментирует пользователь (Session), а так же эта информация добавляется в базу данных как индификатор для комментария

    • Изменено Program-s.g 1 февраля 2012 г. 7:47
    1 февраля 2012 г. 7:45