日期:2014-05-20  浏览次数:20482 次

继续求助JS里用string赋值
之前我是在.cs文件里顶一个字符串 string a = "123.321";然后使txtbox1.text = a; 再在js文件里定义 var i = document.all.("txtbox1.text").value;得到我要的值;
现在我想省去txtbox这一步,直接将string里面的数字传给js里的变量
昨天发帖问了,也试了各位前辈教的方法
定义公共变量 public string a = "123.321";
然后在js里定义 var i = <%=a%>;
但是一直运行不成功。在上述表达式的<下方一直有条波浪线 指明“应为表达式”。
也试了别的方法 如var i = document.getElementById('a').value; 也不对。


------解决方案--------------------
HTML code

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!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">
        var yourName = '<%=YourName %>';
        alert(yourName);
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
    </div>
    </form>
</body>
</html>

------解决方案--------------------
C# code

Page.ClientScript.RegisterStartupScript(this.GetType(), "js", "clk(" + a+ ")",true);

------解决方案--------------------
很简单,加上 双引号就可以了

定义公共变量 public string a = "123.321";
然后在js里定义 var i = "<%=a%>";
------解决方案--------------------
楼主可以写在html里面,好像是不可以直接传递到js文件中的
非要使用的话,可以把隐藏域加上一个
hddInput.Value = a;
那么js文件中直接document.GetElementById("hddInput").Value获得
------解决方案--------------------
终于搞明白了
你在.js文件里有个 函数 function GPSQuery() ,
函数里边定义了俩变量 i,j
你在html里面调用了,
而你想把.cs里的俩变量a,b直接赋值给i,j使用
是这样吧。。。。。

这个我也不太懂
  
把i,j直接搞成GPSQuery()的参数行不行啊?

期待高手。。。。。。。
------解决方案--------------------
其实你的处理都可以在服务器端完成,然后通过回调的方式可以将服务器端的值传给客户端,你都说明了你用ajax,但是我看你代码里一点也没有使用。
------解决方案--------------------
c#里面的变量是不能传到
script/GPStext.js文件中的,你只能在GPStext.js用到的字符串用变量代替,在aspx里写
<script>
var xxx="<%=%>"
</script>
<script src="script/GPStext.js"></script>

xxx这个变量可以在 GPStext.js 使用。

你不能把
var xxx="<%=%>"
写在
GPStext.js文件中