asp.net中前台javascript与后台C#交互

使用Ajax开发框架,后台方法定义前添加[AjaxPro.AjaxMethod],然后就可以在前台js脚本中调用后台C#函数……

  方法一:使用Ajax开发框架,后台方法定义前添加[AjaxPro.AjaxMethod],然后就可以在前台js脚本中调用后台C#函数。

具体方法详见另一篇: 使用AJAX前台调用后台方法及错误示例 

  方法二:后台方法声明为public或者protected,然后前台使用js脚本进行调用。

以下是代码片段:

.cs
public string Str()
{
return "javaScript函数中执行后台C#方法..";
}
.aspx
<script type="text/javascript">
var a = "<%=Str()%>";
alert(a);
</script>

        其原理是前台类继承自后台类,故后台类的public、protected的成员对前台类可见

  方法三:使用Session变量

以下是代码片段:
.cs
if (Session["siteName"] == null)//判断是否存在指定Key值的Session变量
Session["siteName"] = "";//如果不存在则创建Session变量
//给Session["siteName"]变量赋值
.aspx
var siteName="<%=Session["siteName"] %>";

  方法四

以下是代码片段:
 
<asp:Button ID="Button1" runat="server" οnclick="Button1_Click" style="display:none;"/>
<input type="button" id="btnSave " value="保存" οnclick="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;


本文改自:http://winsystem.ctocio.com.cn/371/12085871.shtml

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值