ASP.NET-细节-前端调用后台代码
2020-04-10 本文已影响0人
柠檬正在努力
起因:
总结一下以前比较喜欢用的前段调用后台代码的方法,直接放方法了
一、使用"<%#Eval("某字段")%>"
例如:
<a href="<%#Eval("url")%>" target="<%#Eval("target")%>"><%#Eval("Title") %></a>
这里有三个要解释的
- Eval(string)通过计算 string 得到的值(如果有的话),是JavaScript函数
-
"<%#Eval("某字段")%>"
一般是动态网页提供动态数据的符号。内部你可以从表中选择你需要的字段填入,但一定要注意是动态网页使用 -
"<%#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,进而调用后端代码了