Asp.net前后台代码混编

来源:互联网 发布:淘宝卖家怎么处理违规 编辑:程序博客网 时间:2024/05/21 12:44

当我们需要一个年份下拉列表的时候,排除插件的使用,这里给大家列举三种方法,其中就包含前后台代码混编情况。

年份下拉列表的三种实现方法

方法一:
使用DropDownList控件,在后台动态添加下拉列表的内容。

protected void Page_Load(object sender, EventArgs e){    BindYear();}private void BindYear(){    int year = DateTime.Now.Year;    for (int i = 2; i > -9; i--)    {        DropDownList1.Items.Add(new ListItem() { Text = (year + i).ToString(), Value = (year + i).ToString() });    }}

方法二:
<%= %>前台调用后台方法

<form id="form1" runat="server">    <div>        <select>            <%=GetYearOption() %>        </select>    </div></form>protected string GetYearOption(){    StringBuilder sbYear = new StringBuilder();    int year = DateTime.Now.Year;    for (int i = 2; i > -9; i--)    {        sbYear.AppendFormat("<option value=\"{0}\">{1}</option>", year + i, year + i);        //【简化形式】        //sbYear.AppendFormat("<option value=\"{0}\">{0}</option>", year + i);    }    return sbYear.ToString();}

方法三:
<% %>直接在前台页面进行代码混编

<form id="form1" runat="server">    <div>    <select>        <%int year = DateTime.Now.Year;          for (int i = 2; i >-9 ; i--)          {%>        <option value="<%=year+i %>guo"><%=year+i %></option>        <%} %>    </select>    </div></form>

这里写图片描述

前台调用后台方法

当用户有权限访问就显示控件,没权限就不显示控件。
判断用户是否有权限:

namespace MixedCode{    public class AuthorizationHelper    {        public static bool IsValid(string name)        {            if (string.Equals(name, "经理"))                return true;            else                return false;        }    }}

前台调用AuthorizationHelper类中的方法检查用户权限,注意在前台引用AuthorizationHelper类所在的命名空间。
此处引用语句是<%@ Import Namespace=”MixedCode” %>

protected void Page_Load(object sender, EventArgs e){    <!--当角色为"经理"时下拉列表显示,为其他角色时下拉列表不显示-->    Session["role"] = "经理";}<body>    <form id="form1" runat="server">    <div>    <%if(AuthorizationHelper.IsValid(Session["role"].ToString()))       {%>        <select>        <%int year = DateTime.Now.Year;          for (int i = 2; i >-9 ; i--)          {%>        <option value="<%=year+i %>guo"><%=year+i %></option>        <%} %>        </select>    <%}%>    </div>    </form></body>

<%= %>与<%: %>的区别

后台代码:

public partial class Difference : System.Web.UI.Page{    protected void Page_Load(object sender, EventArgs e)    {    }    protected string GetString()    {        return "<script type=\"text/javascript\">alert('后台返回');</script>";    }}

<%=%>前台调用:

<body>    <form id="form1" runat="server">    <div>        <%=GetString() %>    </div>    </form></body>

这里写图片描述
这里写图片描述
<%:%>前台调用:

<body>    <form id="form1" runat="server">    <div>        <%:GetString() %>    </div>    </form></body>

这里写图片描述
这里写图片描述

1 0
原创粉丝点击