ASP.NET-细节-前端调用后台代码

2020-04-10  本文已影响0人  柠檬正在努力
起因:

总结一下以前比较喜欢用的前段调用后台代码的方法,直接放方法了

一、使用"<%#Eval("某字段")%>"

例如:

<a href="<%#Eval("url")%>" target="<%#Eval("target")%>"><%#Eval("Title") %></a>

这里有三个要解释的

  1. Eval(string)通过计算 string 得到的值(如果有的话),是JavaScript函数
  2. "<%#Eval("某字段")%>"一般是动态网页提供动态数据的符号。内部你可以从表中选择你需要的字段填入,但一定要注意是动态网页使用
  3. "<%#Eval("某字段")%>"有重载,有一个参数的和两个参数度的,一个参数就直接绑定参数的内容到某个控件,而两个问参数的表示使用第二个参数为string.format的格式字符串,将第一个参数相对应数据列的数据填进去,例如<%# Eval("addTime","{0:d}")%>判断时间格式

通过这种格式就可以调用后台服务器端输出的参数

二、通过按钮或者其它标签的onclick事件

例如前端这样子写一个函数和一个button:

<script>
    function Gets() {
        var str = "<%=GetStr()%>";
        alert(str);
    }
</script>

<input type="button" name="btnClick" value="js调用后台代码" onclick="Gets();" />

而cs后端这样子写:

public string GetStr()
{
     string str = "Hello World";
     return str;
}

这样子在前端点击这个button的时候就会触发后台的事件

三、通过辅助按钮实现

先在前台添加一个服务器端按钮,一个普通按钮,添加一个JS函数

<script>
    function Show() { document.getElementById("cmd").click();}
</script>
<input id="btnjs" type="button" value="Js 调用后台函数" onclick="Show()"/>

<asp:Button ID="cmd" runat="server" Style="display: none;" Width="0" Height="0">示例</asp:Button>

编写后台事件

Private Sub cmd_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmd.Click
     Response.Write("<script>alert('你好!')</script>");
End Sub

这样子就可以通过点击辅助按钮btnjs来触发前台Show,进而调用后端代码了

上一篇下一篇

猜你喜欢

热点阅读