.net服务器控件js变量赋值给phpjs变量的问题?

再jsp中,如何把js的控件的值赋给jsp中的java变量(不要说request.getparaeter())_百度知道
再jsp中,如何把js的控件的值赋给jsp中的java变量(不要说request.getparaeter())
如题:再jsp中,如何把js的控件的值赋给jsp中的java变量(不要说request.getparaeter())
谢大家的回答,就票选吧,令我学习很多,但大家的答案都差不多
提问者采纳
这是不可能的。。,jsp在服务器端先执行,输出html传给浏览器之后js码才开始执行js是指javascript吧,再来一遍。如果是 javascript。除非你用 ajax 重新发回给服务器
其他类似问题
按默认排序
其他4条回答
js的值可以给标签,如果你用的是框架(比如jsf)就好办了。
别想了,一个是浏览器端,一个是服务器端,不可能传
用js赋值给页面的控件,提交后台接受即可。
这是不可能的!
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁1.如何在JavaScript访问C#函数?
 方法一:& (1)、首先建立一个按钮,在后台将调用或处理的内容写入button_click中;& (2)、在前台写一个js函数,内容为document.getElementById("btn1").click(); & (3)、在前台或后台调用js函数,激发click事件,等于访问后台c#函数;
& (1)、函数声明为public,后台代码(把public改成protected也可以)
  public& string ss()   {     return("a");   }
& (2)、在html里用可以调用,前台脚本
  &script language=javascript&&&&&&&&&&&&&&& var a ="&%=ss()%&";&&&&&&&&&&&&&& alert(a);&&&&&&&&/script&
& 方法三:&以下为引用的内容:
    &script language="javascript"&&&&&&&&&&&&&&& &!--&&&&&&&&&&&&&& function __doPostBack(eventTarget, eventArgument)&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&var theForm = document.Form1;&&&&&& //指runat=server的form&&&&&&&&&&&&&&&&&&theForm.__EVENTTARGET.value = eventT&&&&&&&&&&&&&&&&&&theFrom.__EVENTARGUMENT.value = eventA &&&&&&&&&&&&&&& theForm.submit();&&&&&&&&&&&&&& }&&&&&&&&&&&&&& --&&&&&&&&&&&&&&& &/script&&&&&&&&&&&&&&& &input id="Button1" type="button" name="Button1" value="按钮" onclick="javascript:__doPostBack(&Button1&,&&)"&
2.如何在JavaScript访问C#变量?
  方法一:通过页面上隐藏域访问 <input id="xx" type="hidden" runat="server">
  方法二:假如后台定义了public string N; 前台js中引用该变量的格式为 '<%=n%>' 或 "+<%=n%>+"  
  方法三:或者你可以在服务器端变量赋值后在页面注册一段脚本
      "<script language='javascript'>var temp=" + tmp + "</script>"      tmp是后台变量,然后js中可以直接访问temp获得值。
3.如何在C#中访问JavaScript的已有变量?
  方法一:在界面上放一个隐藏的控件HtmlInputHidden,然后设置为以服务器控件运行,这样在js脚本中和ASP.NET代码里都可以访问到该控件的值
  js中给服务器控件赋值:&&&&&&&&& var bt=document.all('Name').&&&&&&&&& bt.value='名称';&&&& ASP.NET后台使用Name.Value来访问。
4.如何在C#中访问JavaScript函数?
  方法一:Page.RegisterStartupScript("ggg","<script>SetVisible(1); </script>");
5.js脚本如何访问服务器控件的值    假如界面上有一个TextBox控件,ID为Name。
    js方式:var myvalue=document.all('Name').
    Jquery方式:var myvalue=$.trim($("#Name").val();&&&& 得到焦点:$("#Name").focus();
6.前台和后台之间的函数的调用(异步)
    &head runat="server"&    &title&&/title&    &script type="text/javascript"&    function callServer(arg){      var oTb = document.getElementById('&%=editValue.ClientID %&');      // arg中是传给服务器的变量      arg = oTb.      &%=ClientScript.GetCallbackEventReference(this, "arg", "receiveServerResult", null, true)%&    }    function receiveServerResult(result){      // 在这里添加处理服务器返回结果的逻辑,result变量是服务器返回的结果      alert(result);    }    &/script&
    &/head&    ...//此处省略部分代码      &asp:TextBox ID="editValue" runat="server" /&      &asp:Button ID="btnSubmit" runat="server" Text="Submit Data" OnClientClick="callServer();" /&
    CS文件
    C# code    //页面类继承ICallbackEventHandler接口,并实现其中的两个方法    public partial class _Default : System.Web.UI.Page , ICallbackEventHandler    {      private string m_strResult = "";
      #region ICallbackEventHandler Members
      public string GetCallbackResult()      {        // 返回服务器端处理结果给receiveServerResult方法        return m_strR      }
      public void RaiseCallbackEvent(string eventArgument)      {        // eventArgument是客户端传来的变量,对应arg变量        // 在这里添加服务器端处理逻辑...        m_strResult = eventA      }
      #endregion    }
阅读(...) 评论()ASP.NET前台代码绑定后台变量方法总结 - lerit - 博客园
&&& 经常会碰到在前台代码中要使用(或绑定)后台代码中变量值的问题。一般有&%= str%&和&%# str %&两种方式,这里简单总结一下。如有错误或异议之处,敬请各位指教。 &&& 一方面,这里所讲的前台即通常的.aspx文件,后台指的是与aspx相关联的CodeBehind,文件后缀名为.aspx.cs;另一方面,这里的绑定是指用户发出访问某一页面指令后,服务器端在执行过程中就已经将前台代码进行了赋值,而后生成html格式回传客户端显示,而并非已经显示到客户端后,然后通过其他方法(如ajax)去服务器端获取相应变量。 备注:上面说的两个文件是常见的代码隐藏(code-behind)模式,还有一种是代码嵌入(code-beside, inline)模式,那就是只存在aspx一个文件,而后台代码则写入此文件的&script type="text/javascript" runat="server"&&/script&之中(还有一些语法上区别),这对于本文讨论的问题略有影响,因为代码嵌入是声明性代码与C#/VB.NET代码都一起编译到一个类里面,而代码隐藏则将声明性代码与C#/VB.NET代码分开几次进行翻译/编译,因此前者是局部与局部(partial)的关系后者基类与派生类的关系,但这仅仅影响所能绑定变量的范围(与修饰符有关),下面会提到。以下均以代码隐藏模式为例。 &&& 一般来说,在前台代码的三种位置可能会用到(绑定)后台变量:
服务器端控件属性或HTML标签属性
JavaScript代码中
Html显示内容的位置(也就是开始标签与结束标签之间的内容,如&div&这里&/div&(Html标签)或者&asp:Label ID="Label2" runat="server" Text="Label"&这里&/asp:Label&(服务器端控件),它作为占位符把变量显示于符号出现的位置) &&& 对于第一种位置,有一些约束条件: &&& (1)一般的属性要求是字符串型或数值型(下面会提到有些服务器端属性支持属性为数据集合); &&& (2)并不是所有的属性都可以绑定变量,有些属性例如runat属性必须是"server"常量,即使绑定的字符串是server,也会导致分析器分析时出错; &&& (3)有一种属性,他要求属性值有约束(类型约束,比如服务器端控件要求TabIndex属性是short类型,或者字符串内容有约束),也应该在绑定时满足,否则依然可能编译时报错;
&&& (4)还一种属性,虽然属性本身有约束,但即使绑定的变量不满足约束,也可以编译通过,比如input的checked属性,它只有checked字符串是合法的,但如果通过绑定获取到的字符串不是checked,那么这些属性将有自己内部处理机制,来保证可以正常使用;
&&& (5)还要注意,即使对于同一类属性,服务器端和HTML的属性的处理机制也不同,同样是TabIndex(tabIndex),前者如果不满足,则分析器错误,后者则忽略这一问题。 &&& 对于第二种位置,一般只要绑定的后台变量和JavaScript中数据类型兼容即可。 &&& 对于第三种位置,如果绑定出现的位置不在服务器端控件内部,则没有约束条件,只要是常量字符串可以出现的位置,均可以绑定。但是对于置于服务器端控件内部,也就是上面那种&asp:Label ID="Label2" runat="server" Text="Label"&这里&/asp:Label&的方式,则有约束条件。通过总结,归纳为四类服务器端控件,如果绑定的代码出现在这些控件的开始和结束标签之间(这里所说的控件,是指如果绑定代码外有多层的嵌套控件包围,则是指包围绑定代码的最内层控件),有不同的显示结果: &&& (1)约束型控件:这类控件要求它的开始标签和结束标签中只能包含指定的子控件,因此如果在这里出现代码块,将编译错误。例如: &asp:DataList runat="server"&&/asp:DataList&,在它之间,要求必须嵌套&ItemTemplate&&/ItemTemplate&。 &&& (2)非嵌套类控件:这类控件,不允许在内部嵌套其他控件或标签,只能是常量字符串,它会将开始标签和结束标签中常量字符串内容作为他的属性。例如上面提到的TextBox,它会将标签间内容作为它的Text属性值。 & (3)嵌套类控件:这类控件,可以嵌套其他任意控件,也可以包含字符串,因此可以正常显示绑定代码块所表示的字符串内容。例如Label控件、Panel等。 & (4)数据绑定类控件:这类控件是ASP.NET提供的服务器端控件,除了可以绑定普通的变量类型,也可以绑定一个数据集合(只能采取下面的第二种方式实现)。 &&& 关于是否加引号:在以上三个位置使用时,是否应该将&%= str%&或&%# str %&置于单引号或双引号中呢?对于在不同位置,处理的方式是不同的:(具体请在下面两种方式的具体介绍时,加以体会) &&& (1)对于第一种位置,由于JavaScript是弱类型的,如果绑定时加引号,显然就认为就当做字符串来处理,这始终是正确的;如果绑定时不加引号,它将认为这是个数值型的,那么如果获取的真是数值,当然可以,如果是非数值型,则将产生脚本错误,这即使对于JavaScript赋值常量时,也是同样的:
var test1 = 123b;//运行时报错
var test2=123;//正确,是数值型
var test3="123b";//正确,字符串型
&&& (2)对于第二种位置,经过测试,无论是对于服务器端控件属性还是HTML标签属性,加引号总是正确的;如果不加引号,则两种属性的处理方式不同:
对于服务器端控件属性,如果绑定的代码块不加引号,则编译时会提示“验证(ASP.NET):特性值前后必须加引号”的警告信息,但是生成为HTML后,对应生成的HTML属性已经被加上引号并获取了正确的绑定结果,因此加不加引号不会影响使用,但是建议对于规范的代码,还是加上为好;
对于HTML标签属性,如果不加引号,则编译时会提示“验证(XHTML 1.0 Transitional): 特性值前后必须加引号”的警告信息,并且生成为HTML属性也确实没有加上引号,那么虽然属性后面确实是没有加上引号的正确的绑定值,但是不一定能展示出想要看到的结果。比如对于input标签的value属性,如果绑定的字符串是"&&& hello world from variable”,则在客户端的input显示出的内容实际上只是"hello”字符串,生效的属性值是一个被截断的字符串,它从属性后的一串字符串(若未加引号)的第一个非空字符开始,截止到下一个空字符的前一个字符为止(比如对于"&&&&& hello world”,结果将是"hello”),因此,加上引号是必须的。
&&& (3)对于第三种位置,加与不加引号,获取的值及其显示均不受影响。
&&& 因此建议,所有绑定表达式都加上引号,作为字符串获取,然后根据实际需求,用相应函数进行转换,得到所需要的类型。
&&& 另外,这里所说的后台变量是泛指的,包括如下:
方法或属性的返回值& 表达式,也就是所有后台能够执行的代码,运行后所得到的值(也就是直接将后台代码写在前台代码中,记得使用完全限定名或在后台中using相关namespace)
&&& 后台变量有一些约束条件,需要满足:
&&& (1)变量修饰符要求。变量是静态或者实例字段均可。对于代码隐藏模式的ASP.NET,以上的所述的变量必须为public或protected类型(因为是基类与派生类的关系),private或者internal都不行,而代码嵌入模式则任何修饰符的变量均可访问(一个类内部的关系)。
&&& (2)变量类型要求。由于前台属性一般是字符串类型,而JavaScript基本类型也就是字符串型、数字型、布尔型,因此对应的变量应该也是这几种方式,其余类型如果不被支持(如复杂类型、数组、引用类型等),前台获取的就是调用了变量的ToString()方法所得到的字符串。因此,在绑定时,要根据情况看是否能进行隐式类型转换,必要时还要用相关函数来强制转换,以保证前台可以获得正确的值。当然,对于数据绑定类控件,它的有些属性可以为数据集合,但这时的绑定只能通过下面第二种方式才被支持。
&&& 以上是一些概念和基本约束,这些都是两种方式都应该满足的,下面具体介绍两种方式,来实现前台代码中(以下称为代码块)绑定后台变量的功能。
一. &%= str%&
&&& 此种方式其实是ASP 时代就支持的,ASP 通过包含在 & % 和 %&中的表达式将执行结果输出到客户浏览器 , 如:& % =test %&就是将变量test的值发送到客户浏览器中。在ASP.NET中,这个表达式依然可以使用,并可以出现在前台代码的上述三个位置,但是要注意,除了上述的一般性约束外,对于控件属性,还必须是绑定到非服务器端控件的属性。另外,它只能绑定上面讲的前三种变量类型,不支持绑定数据集合。例子如下:
后台代码:public partial class WebForm2 : System.Web.UI.Page
public string GetVariableS//注意变量的修饰符
protected void Page_Load(object sender, EventArgs e)
if (!IsPostBack)
GetVariableStr = "hello world from variable";
protected string GetFunctionStr()//注意返回值的修饰符
return "hello world from Function";
前台代码:&html xmlns="http://www.w3.org/1999/xhtml"&
&title&&/title&
&script type="text/javascript"&
function fun() {
var str = '&%= DateTime.Now %&';
//前台位置1,绑定的是第三种变量类型(也是第二种方式,?因为Now是个属性)
alert(str);
&body onload="fun()"&
&form id="form1" runat="server"&
&input type="text" value="&%= GetVariableStr %&" /&
&%--前台位置2,绑定的是成员变量--%&
"&%= GetFunctionStr() %&"
&%--前台位置3,绑定的是一个方法的返回值&--%&
&&& 一些错误的使用:
&&& 之所以说第一种绑定方式要用于非服务器端控件的属性,是因为如果应用于这些服务器端属性时,这些代码实际上不被解析。 比如: &asp:Label ID="Label1" runat="server" Text="&%= GetVariableStr %&"&&/asp:Label&
&asp:TextBox ID="TextBox1" runat="server" Text="&%= GetVariableStr %&"&&/asp:TextBox&
则显示出来的Label1的文本是空,而TextBox中文本是"&%= GetVariableStr %&”,所以记住,对服务器端控件的属性加这样的代码块,将不被解析,而是将这一字符串直接作为属性值了,所以不是想要的结果。如果引号也不加上,将会编译错误,提示“服务器标记不能包含 &% ... %& 构造。”。
&&& 这里结合开篇提到的关于将绑定代码快置于“Html显示内容的位置”时,如果在服务器端控件内,那四类控件如何显示的问题。如下:
&asp:Label ID="Label1" runat="server" &"&%= GetVariableStr %&"&/asp:Label&
&asp:TextBox ID="TextBox1" runat="server" &"&%= GetVariableStr %&"&/asp:TextBox&
&&& 其中,Label1属于嵌套类控件,Label1确实显示了正确的结果,TextBox属于非嵌套类控件,TextBox如果用这种方式,将会产生编译错误,提示“此上下文中不支持代码块。”
二. &%# str %&
&&& ASP.NET 引入了一种新的声明语法 &%# %&。该语法是在 .aspx 页中使用数据绑定的基础,所有数据绑定表达式都必须包含在这些字符中。这里从用法和适用范围等方面与第一种绑定方式进行区分。
&&& 从出现的位置来看,除了能出现在第一种代码块出现的所有位置外,他还可以出现在服务器端控件的属性中。
&&& 从绑定的变量类型上看,他还可以配合ASP.NET的数据绑定类控件,来绑定上述的第四种“变量”类型,就是数据集合(DropDownList,DataList,DataGrid,ListBox这些是数据绑定类控件,数据集合包括ArrayList(数组),Hashtable(哈稀表,DataView(数据视图),DataReader等)。
&&& 从用法上看,在前台代码中除了在相应位置写上&%# %&外,在后台代码中,还需要使用DataBind()方法。以下是实例:
前台代码:&html xmlns="http://www.w3.org/1999/xhtml"&
&title&&/title&
&script type="text/javascript"&
function fun() {
var str = '&%# DateTime.Now %&';
alert(str);
&body onload="fun()"&
&form id="form1" runat="server"&
&input type="text" value="&%# GetVariableStr %&" /&&br /&
"&%# GetVariableStr %&"
&asp:Label ID="Label1" runat="server" Text="&%# GetVariableStr %&"&&/asp:Label&
&%--此种方式可以绑定服务器端控件的属性--%&
&asp:DropDownList ID="DropDownList1" runat="server" DataSource='&%# arraylist %&'&
&%-- 将集合绑定到数据绑定类控件,通过DataSource属性来实现,从而在下拉框看到集合中的内容--%&
&/asp:DropDownList&
&asp:DataList ID="DataList1" runat="server" DataSource='&%# dt %&'&
同上,绑定了DataTable数据集合?--%&
&ItemTemplate&
&table border="1" cellpadding="0" cellspacing="0"&
&asp:Label ID="Label2" runat="server" Text='&%# Bind("row0")%&'&&/asp:Label&
&%--由于绑定的数据集合具有多列,并且此数据绑定类控件支持模板,
因此需要在模板中指定需要绑定的列以及格式--%&
&%# Eval("row1")%&
&/ItemTemplate&
&/asp:DataList&
&&& 可以看出,这种方式在使用时,不但可以实现(取代)&%=... %&所满足的功能,还可以绑定服务器控件属性(如上面的Label1),也可以将集合类型绑定到支持的数据绑定类控件。在用法上,前台代码除了对数据绑定类控件绑定数据集合外有所差别,其他的使用上与第一种没区别。在绑定类控件的模板中,如何使用Eval、Bind、DataBinder.Eval等,不在此文讨论中,可以参考下面链接的参考文章。
后台代码:public partial class WebForm2 : System.Web.UI.Page
public string GetVariableS
public ArrayList
public DataTable
protected void Page_Load(object sender, EventArgs e)
if (!IsPostBack)
GetVariableStr = "hello world from variable";
arraylist = new ArrayList();
arraylist.Add("选?项?1");
arraylist.Add("选?项?2");
dt = new DataTable();
dt.Columns.Add("row0");
dt.Columns.Add("row1");
DataRow dr1 = dt.NewRow();
dr1[0] = "1.1";
dr1[1] = "1.2";
DataRow dr2 = dt.NewRow();
dr2[0] = "2.1";
dr2[1] = "2.2";
dt.Rows.Add(dr1);
dt.Rows.Add(dr2);
Page.DataBind();
//DropDownList1.DataBind();
//DataList1.DataBind();
&&& 在后台代码中,与第一种方式唯一不同的,就是需要调用DataBind方法。只有执行了相应控件的DataBind方法,前台代码中这些控件中使用&%# %&的绑定才会发生(并且控件内部的所有绑定也会发生,比如又嵌套了一个绑定后台数据的控件),否则得话将不会被赋值,而是默认空值。上面我们用的是Page的DataBind方法,那么整个页面所有绑定都会执行。当然,如果我们只执行DataList1或者DropDownList1的DataBind方法,那么只有相应控件的绑定才会发生。需要注意的是,这里说的需要执行DataBind包括了显示和隐式执行,有些数据绑定类控件,当它们通过 DataSourceID 属性绑定到数据源控件时,会通过隐式调用 DataBind 方法来执行绑定。这时就不必显示的再次调用了。
两者区别:
&&& 两种绑定方式上,他们的约束基本相同,都要求与属性匹配,出现在他们可以出现的位置。后者的使用位置更广泛,尤其是支持服务器端控件和绑定数据集合。后台代码方面,后者需要调用DataBind才能完成绑定,前者则没有这方面要求。这里主要区别一下两者在执行机制上的区别:&%=...%&是在程序执行时调用(应该是在页面的RenderControl事件过程中完成的,也就是通常情况下我们可以看到的后台代码都执行完毕后再去到前台代码中进行赋值绑定),而&%#... %&是在DataBind()方法之后被调用,一旦调用了DataBind(),则它对应的控件将绑定变量,因此,请注意:如果在DataBind()后再修改变量,那么绑定的就不是最新值了,这就需要在完成变量的赋值后,再去DataBind()。其实这两种方式,它的运行过程可以在VS中通过设置断点来看看,看两者的绑定赋值分别是在什么时候发生的。
尚存的疑问:
1.不知道为什么不能获取到internal修饰的变量?
答:此问题已经在下一篇文章《》中分析并解决。(日更新)
补充1:回答关于9楼的提到的ASP.NET 4.0中的&%: xxxx%&()
答:这种方式是ASP.NET4.0中新加入的绑定方式,常用于MVC中,但普通webform中也可使用。他的功能其实就是对绑定的值进行一下编码,因此,一下两者是等同的: &%= Server.HtmlEncode("&b&test&/b&") %& &%: "&b&test&/b&" %&;
补充2:关于各种百分号的功能区分()
答:本文上面讲了两种百分号的用法,在加上补充1中的,一共讲了三种,其实还有一种百分号用法就是&% func(xx)%&,也就是百分号后不带任何符号,然后执行一段代码,一句话概括:
在百分号內 , 如果百分号后面不带任何符号(冒号、等号、井号) , 即表示要执行一段代码而已,此处不包含任何输出信息;若带符号,即表示执行此处的代码,并且将执行后返回的值绑定(或者显示)在此处。
参考文章:
(未参考本文,但后来发现讲的也比较好)asp.net中JS,CS 调用后台变量的值多种方法-基础入门-asp.net教程-壹聚教程网asp.net中JS,CS 调用后台变量的值多种方法本文章介绍了关于asp.net中JS,CS 调用后台变量的值多种方法,有需了解的朋友可以参考一下。 (1)//后台:Publicstringstr=&123&;& //最好为Public类型
直接在AspX前台页面HTML代码中要放的位置写入如下代码:
&td&&%=str%&&/td&
(2)用JS取本页面中的服务器端控件值:
服务器端控件值:
functiona()
&&&&&&& i=document.getElementById('&%=服务器控件id.ClientID %&').&&
&&&&&& //取Label控件值
&&&&&&&& document.getElementById('&%=lblUserName.ClientID %&').innerText=i;
(3)用JS取自定义用户控件(**.ascx)中的
function b()
&&&& //.ascx用户控件在本页面上的id,即&uc&标签中的ID名称,再加上.ascx页面里面的服务器控件ID
&&&& //并用&_&连 接
&&&& var j=document.getElementById('&%=UC的ID.ClientID %&'+&_txtID&).//TextBox
&&&& //在取Label控件的值时改用下面的写法,可能有些朋友也用了上面的写法,所以取不到吧&&
&&&& var jj=document.getElementById('&%=UC的ID.ClientID %&'+&_txtID&)..innerHTML;//Label
对于服务器端控件里调用js,不可以直接绑后台变量,要先声明一下js变量,赋值为后台变量
&&& var testTxt=& &%=stetValue %&&;
&&& &/script&
&input type=&button& onclick=&return confirm('&%=stetValue %&')& value=&测试& /& //客户端控件可以直接用
&&&&&&& &:Button ID=&Button1& runat=&server& Text=&测试& OnClientClick=&return confirm(testTxt)& /&
&&& &/div&
javaScript函数中执行C#代码中的函数:
方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中;
2、在前台写一个js函数,内容为document.getElementById(&btn1&).click();
3、在前台或后台调用js函数,激发click事件,等于访问后台c#函数;
方法二:1、函数声明为public
后台代码(把public改成protected也可以)
public string ss()
return(&a&);
2、在html里用 &%=fucntion()% &可以调用
&script language= &
var a = & &%=ss()% &&;
&/script &
、 &script language=&javascript& &
function __doPostBack(eventTarget, eventArgument)
var theForm = document.Form1; //指runat=server的form
theForm.__EVENTTARGET.value = eventT
theFrom.__EVENTARGUMENT.value = eventA
theForm.submit();
&/script &
&input id=&Button1& type=&button& name=&Button1& value=&按钮& onclick=&javascript:__doPostBack( 'Button1 ', ' ')& &
&script language=&javascript& &
function SubmitKeyClick()
if (event.keyCode == 13)
event.cancelBubble =
event.returnValue =
document.all.FunName.value=&你要调用的函数名&;
document.form[0].submit();
&/script &
&INPUT onkeypress=&SubmitKeyClick()& id=&aaa& type=&text& &
&input type=&hidden& name=&FunName& & 〈!--用来存储你要调用的函数 --〉
在.CS里有:
public Page_OnLoad()
if (!Page.IsPost())
string strFunName=Request.Form[&FunName&]!=null?Request.Form[&FunName&]:&&;
//根据传回来的值决定调用哪个函数
switch(strFunName)
case &enter()&:
enter() ; //调用该函数
case &其他&:
//调用其他函数
//调用默认函数
public void enter()
//&&比如计算某值
问题2.如何在JavaScript访问C#变量?
答案如下:
方法一:1、通过页面上隐藏域访问 &input id=&xx& type=&hidden& runat=&server& &
方法二:1、如后台定义了PUBLIC STRING N;前台js中引用该变量的格式为 ' &%=n% & '或&+ &%=n% &+&
方法三:1、或者你可以在服务器端变量赋值后在页面注册一段脚本
& &script language= 'javascript ' &var temp=& + tmp + & &/script &&
tmp是后台变量,然后js中可以直接访问temp获得值。
3.如何在C#中访问JavaScript的已有变量?
答案如下:
方法一:1、前台使用静态文本控件隐藏域,将js变量值写入其中;
2、后台用[&id&]来获取值;
方法二:可以用cookie或session
4.如何在C#中访问JavaScript函数?
答案如下:
c#代码中执行javaScript函数:
方法一:1、Page.RegisterStartupScript(&ggg&,& &script &SetVisible(1); &/script &&);
方法二:使用Literal类,然后
private void Button2_Click(object sender, System.EventArgs e)
str=& &script language= 'javascript ' &&;
str+=&Range()&;
str+=& &/script &&;
//Literal1.Visible=
Literal1.Text=
上一页: &&&&&下一页:相关内容}

我要回帖

更多关于 js给变量赋值 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信