[转载]Asp.net前台C#服务器端代码的使用
Asp.net一般情况下都是用codebehide用后台CS文件的方式进行C#编码, 在某些特定情况下需要在前台的HTML代码中使用C#代码进行编码,比如需要给一个前台的控件进行赋值,为了以后HTML代码复用时方便,就不想在后台再写C#代码,只好把代码写在HTML中。
下面是在HTML中嵌入服务器端C#代码的方式:
1 <%=变量或者函数%>
例如:<input value="<%=myName%>"/>
特点:这种代码只能写在非服务器端代码中,如果写在有runat="server"的控件中,将不起作用。
2 <%#变量或者函数%>
例如:<asp:Button ID="butTest" runat="server" Text="<%#myButName%>" />
特点:需要调用绑定方法,在后台页面的pageload事件中调用:Page.DataBind();
3 <script runat="server">
string strTest = "前台页面中输出!";
protected void Page_Load(object sender, EventArgs e)
{
Response.Write(strTest);
}
</script>
这种比较少用,如果要这么写,就直接在后台写代码可以了。
4 <% c#代码 %>
这种是最早的ASP时代的代码,现在ASP.NET依然支持,不过一般很少用。
对于第1种,比如又需要在前台绑定后台变量,又需要在后台应用对应的控件对象,则需要将该控件设置为 runat="server",这时候第一种语法不起作用,又不想用第2中方式进行绑定,则麻烦一点可以用客户端js来实现,在js中使用服务器端的变量,然后更新前台的控件即可。
例如:
<input id="txtPageSize" runat="server" style="width:28px; border-left:0px; border-right:0px; border-top:0px; border-bottom:1px solid #dddddd; text-align:center;"/>条
<script type="text/javascript">
document.getElementByIdx_x("txtPageSize").value=<%=pageBar.PageSize%>;
</script>
如果文章有什么错误或不当之处,请您斧正!
您有任何意见或者建议,您可以给我发邮件,也可以在下面留言,我看到了会第一时间回复您的,谢谢!
出处:http://www.cnblogs.com/52XF/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

浙公网安备 33010602011771号