A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 石国庆 中级黑马   /  2013-4-18 12:04  /  1752 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

从网上看文章前台调用后台方法是'<%=N%>'这种方法,但是我测试的结果是这个N必须是命名空间下面的,如果我想调用方法中小n变量能够实现吗?用什么方法?
后台
public partial class 前后台调用 : System.Web.UI.Page
{
    protected int N = 56;
    protected void Page_Load(object sender, EventArgs e)
    {
      int n =17;
    }
}
前台
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script  type="text/javascript" language="javascript">
        var temp = "<%=N%>";
        alert(temp);
    </script>
</head>
<body>
    <input type="text" value="<%=N%>"/>
    <input type="text" value="<%=n%>"/>这行是有错的
</body>
</html>

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

3 个回复

倒序浏览
上面的问题不要用隐藏域的方法,还有就是这段脚本在后台的哪里写啊,谁能写出一段完整的代码看看
方法三:1、或者你可以在服务器端变量赋值后在页面注册一段脚本
          " <script language='javascript'>var temp=" + tmp + " </script>"
          tmp是后台变量,然后js中可以直接访问temp获得值。
回复 使用道具 举报
石国庆 发表于 2013-4-18 12:08
上面的问题不要用隐藏域的方法,还有就是这段脚本在后台的哪里写啊,谁能写出一段完整的代码看看
方法三:1 ...

不知道这样行不行?
前台:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>

<body>
    <form runat="server">
        <input type="text" value="<%=N %>" id="text1" />
        <input type="text" value="" id="text2" />
    </form>
</body>
</html>

后台:

protected int N = 20;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                int n = 60;
                Page.ClientScript.RegisterStartupScript(this.GetType(), "value", "document.getElementById('text2').value=" + n +";" , true);
            }
            
        }

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
史鹏飞 发表于 2013-4-18 14:59
不知道这样行不行?
前台:

额,后台调前台的方法。。回家我测试一下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马