如何在后台获得页面javascript的值
谢谢帮忙啊!
[解决办法]
是什么样的javascript值?把代码贴出来看看.
[解决办法]
1。把值写在一个控件上,然后把控件藏起来
2。直接用httprequest给送到服务器
[解决办法]
get , post, cookie
[解决办法]
还有可以用ajax
基本上就这几种方法了
[解决办法]
前后--后台
页面上访个hidden 前台保存,后台读取
[解决办法]
function init(){
var list=mySlider.getValue();
document.getElementById("TextBox1").value = list;
}
}
......
<body onload="init();" >
......
在页面里放置一个TextBox取得所要的植,在Page_Load事件里便可取到.
string str = TextBox1.Text.toString().trim();
[解决办法]
你到底想要解决什么问题?
[解决办法]
Page_Load事件是在页面还没加载之前执行(lz可以参考下vs帮助文档中看下asp.net页面事件的加载顺序),所以要在Page_Load事件之前设置javascript变量,下面是我随便写的一段代码:
aspx文件:<%@ Page language="c#" Codebehind="WebForm7.aspx.cs" AutoEventWireup="false" Inherits="WebApplication1.WebForm7" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" ><HTML> <HEAD> <title>WebForm7</title> <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1"> <meta name="CODE_LANGUAGE" Content="C#"> <meta name="vs_defaultClientScript" content="JavaScript"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> <script language="javascript"> function setvaue(str) { document.getElementById('test').value=str; } </script> </HEAD> <body MS_POSITIONING="GridLayout"> <form id="Form1" method="post" runat="server"> <FONT face="宋体"><input id="test" name="test" runat="server"> </FONT> </form> </body></HTML>cs文件:using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;namespace WebApplication1{ /// <summary> /// WebForm7 的摘要说明。 /// </summary> public class WebForm7 : System.Web.UI.Page { protected System.Web.UI.HtmlControls.HtmlInputText test; private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 Response.Write(test.Value); } #region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) { // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // Page.RegisterStartupScript("aa","<script language=javascript>setvaue('1')</script>");//这句是关键,放在page_load事件之前设置变量的值 InitializeComponent(); base.OnInit(e); } /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.Load += new System.EventHandler(this.Page_Load); } #endregion }}
[解决办法]
上面没写完整^_^,下面测试了下没问题,lz自己看下OnInit事件和Page_Load事件的执行顺序吧:
aspx文件:<%@ Page language="c#" Codebehind="WebForm7.aspx.cs" AutoEventWireup="false" Inherits="WebApplication1.WebForm7" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" ><HTML> <HEAD> <title>WebForm7</title> <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1"> <meta name="CODE_LANGUAGE" Content="C#"> <meta name="vs_defaultClientScript" content="JavaScript"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> <script language="javascript"> function setvaue(str) { document.getElementById('test').value=str; } function setvaue2() { alert(document.getElementById('test').value); document.getElementById('test2').value=document.getElementById('test').value; } </script> </HEAD> <body MS_POSITIONING="GridLayout"> <form id="Form1" method="post" runat="server"> <FONT face="宋体"> <asp:TextBox ID="test" Runat="server"></asp:TextBox> <asp:TextBox ID="test2" Runat="server"></asp:TextBox> </FONT> </form> </body></HTML>cs文件:using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;namespace WebApplication1{ /// <summary> /// WebForm7 的摘要说明。 /// </summary> public class WebForm7 : System.Web.UI.Page { protected System.Web.UI.WebControls.TextBox test; protected System.Web.UI.WebControls.TextBox test2; private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 Page.RegisterStartupScript("bb","<script language=javascript>setvaue2();</script>"); Response.Write(test2.Text); } #region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) { // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // Page.RegisterStartupScript("aa","<script language=javascript>setvaue('1')</script>"); InitializeComponent(); base.OnInit(e); } /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.Load += new System.EventHandler(this.Page_Load); } #endregion }}
[解决办法]
用js把值放到一个hidden中,然后再后台获得hidden.value Ok?
接分
[解决办法]
楼上没错,就是直接给控件赋值
[解决办法]
mark