返回首页
当前位置: 主页 > 编程语言 > C#教程 >

asp.net前台调用后台方法(cs方法)与变量

时间:2017-12-11 23:10来源:电脑教程学习网 www.etwiki.cn 编辑:admin

asp.net 虽然前台代码与后台代码分离了,但有时候还需要在前台(aspx文件)调用后台(cs文件)的方法或变量。例如,要把一个后台变量的值传给前台的 javascript 代码中的一个变量,就是 aspx 调用后台变量的情况;前台绑定数据要根据值的真假显示不同的值,就需要在后台写一个方法判断,根据值的真假返回不同的值,就是 aspx 调用cs方法的情况。

  无论是 aspx 调用后台方法还是调用cs后台变量,跟前台绑定数据差别不大,都在这个符号 <%# %> 中编写代码。下面就先看如何在前台 apsx 调用后台cs变量,再讨论怎么调用后台方法。

 

  一、aspx 调用后台变量

  假如要把后台一个变量的值传递给前台 javascript 代码的一个变量,实现代码如下:

  cs代码:

  namespace testpro
  {
    public partial class TestEg : System.Web.UI.Page
    {
      protected string img = "";//传递到前台的变量

      protected void Page_Load(object sender, EventArgs e)
      {
        img = "/images/ads.jpg";
      }
    }
  }

 

  前台 aspx 代码:

  <script type="text/javascript">
    var img = "<% =img %>";
  </script>

  从以上代码可以看出,需要在 aspx 调用的变量必须定义为保护成员(protected)或公用成员(public),否则前台无法取到后台变量的值。此外,赋值给 javascript 字符变量还要加上双引号,否则也无法赋值。

 

 

  二、aspx 调用后台方法

  假如前台绑定数据的时候,有一个值要根据真假显示不同的提示文字,在前台 aspx 中写代码比竟不怎么好,要把判断代码放到后台cs文件中,实现代码如下:

  后台cs方法:

  /// <summary>
  /// aspx 调用cs方法
  /// </summary>
  /// <param name="isTrue">前台传来的对象型变量</param>
  /// <returns>真:男;假:女</returns>

  protected string GetValue(object isTrue)
  {
    bool flag = Convert.ToBoolean(isTrue);
    if (flag)
      return "男";
    else
      return "女";
  }

 

  前台 aspx 调用后台cs方法:

  <div><%# GetValue(Eval("sex")) %></div>

  后台 cs 文件中的方法也要定义为 protected 或 public,否则前台 aspx 文件也调用不到;另外,绑定的值 Eval("sex") 都是对象型,在 cs方法中需要转换为相应的类型。

------分隔线----------------------------
标签(Tag):c#
------分隔线----------------------------
推荐内容
猜你感兴趣