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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 追溯客 中级黑马   /  2013-10-8 17:00  /  1410 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如何在JavaScript访问后台C#方法、变量
方法一:使用Ajax开发框架,后台方法定义前添加[AjaxPro.AjaxMethod],然后就可以在前台js脚本中调用后台C#函数。
方法二:后台方法声明为public或者protected,然后前台使用js脚本进行调用。
.cs
public string Str()
    {
        return "javaScript函数中执行后台C#方法..";
}
.aspx
<script type="text/javascript">
        var a = "<%=Str()%>";
    alert(a);
</script>
方法三:使用Session变量
.cs
if (Session["siteName"] == null)//判断是否存在指定Key值的Session变量
                Session["siteName"] = "";//如果不存在则创建Session变量
            //给Session["siteName"]变量赋值
.aspx
var siteName="<%=Session["siteName"] %>";
方法四
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" style="display:none;"/>
<input type="button" id="btnSave " value="保存" onclick="GetBehind ();return false;" />
.aspx.cs
    <script type="text/javascript">
//调用后台方法
//使用这种方式调用后台代码,可以在调用之前在前台做一些验证
        function GetBehind() {
                document.getElementById("Button1").click();
        }
</script>
.cs
protected void Button1_Click(object sender, EventArgs e)
{}
如何在后台C#代码中执行javaScript函数
方法一:void Page.RegisterStartupScript(string key,string script);
方法二:使用隐藏域或者Literal控件,在前台使用js脚本把一些js函数控制的值写进隐藏域或者Literal控件,然后前台使用Hidden.Value或者Literal.Text读取前台值。
.aspx
function GetTitleID(obj)
{
    sTitleID=obj
    if(sTitleID!=null)
        document.getElementById("HiddenField1").value=type+','+sTitleID;
    else
        document.getElementById("HiddenField1").value=type+',0';
}
.cs
string hiddenValue = this.HiddenField1.Value;

评分

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

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马