asp.net后台前台代码相互绑定大总结
一.把后台代码写到前台去
1 对于普通的html标签和普通服务器控件绑定后台变量(变量一定要public)
.cs
// 加载方式
public string loadtype;
protected void Page_Load(object sender, EventArgs e)
{
// 检测是否首次加载
if (Request.QueryString["loadType"] != null)
{
loadtype = Request.QueryString["loadType"].ToString();
}
}
.aspx
<div style='display:<%=loadtype=="1"?"none":"inline"%>'>............</div>
先通过<%=loadtype%>标签获取到loadtype,再对loadtype进行判断,这个时候<%=loadtype%>可能不变黄,没有关系。
2.在Gridview或repeater数据绑定控件里绑定后台变量
我们知道,不是那个角色都可以设置监控点的。那么我需要在绑定的时候,判断一下,这个人的usertpye是多少。那么怎么办判断呢?看代码:
<asp:TemplateField HeaderText="操作">
<ItemTemplate>
<a href="EditUser.aspx?userId=<%# eval_r("ID") %>">修改</a>
<a href="EditPWD.aspx?userId=<%# eval_r("ID") %>">重设密码</a>
<%#Convert.ToUInt32(eval_r("UserType")) == 7 ?
"<a href=../Point.aspx?userID") + ">分配监控点</a>" : ""%>
</ItemTemplate>
</asp:TemplateField>
简单吧!其实其他的控件如repeater,datalist等等,都可以效法!
我们再看一例:
<asp:LinkButton ID="linkbtnCloseOrOpen" runat="server" CommandName='<%#eval_r("IsClosed") %>' CommandArgument='<%#eval_r("ID") %>'>
<%#bool.Parse(eval_r("IsClosed").ToString())?"打开监控点":"关闭监控点" %>
</asp:LinkButton>
3.引申——绑定后台方法
由1,2的区别,看二者3的区别——也就是<%=%>和<%#%>绑定方法的区别,懂了吧!
<%=Add()%>
<%#Add()%>
拿第二种举个例子吧
在后台有这样的方法
public Test_Paper GetPaper(int id)
{
return BLL.Test_PaperBLL.ReadTestPaperByID(id);
}
4.<%%>干吗用啊?
这样用:
<%
int countValue = id;
%>
<div style='display:<%=countValue==1?"none":"inline"%>'></div>
①<%%>中可以获取后台中public的字段,像例子中的id
②可以声明变量
③变量可以再前台使用
④可以再<%%>对后台的数据进行一些逻辑操作,当然,这种逻辑操作可以在后台完成,再在前台获取后台方法,如本文的第三个大标题一样!
再看一例
<%if (user.CompanyId==1)
{
%>
<tr>
<td align="left" left" >
<table width="100%" border="0" cellspacing="0"
cellpadding="0">
<tr>
<td align="left" ><a href="/Manage/CheckPoints.aspx"
target="mainFrame">住建局监控</a></td>
</tr>
</table>
</td>
</tr>
<%} %>
二把前台代码写到后台去
我们不仅可以在前台写代码,也可以在后台写前台的代码
比如:
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<%=str2.ToString()%>
<tr>
<td width="37%" height="30"></td>
<td width="31%" height="30"></td>
<td width="32%" height="30"> </td>
</tr>
</table>
那么在后台的话:
j += 1;
str2.Append("<tr>");
str2.Append("<td id=\"td2" + j + "\" width=\"37%\" height=\"30\" align=\"left\">");
str2.Append(j + GetEvaluation(resultInfo.EvaluationID).Evaluation);
str2.Append("</td>");
str2.Append("<td width=\"31%\" height=\"30\">");
str2.Append("<input name=\"resultId2" + j + "\" value=\"" + resultInfo.ID + "\" type=\"hidden\">");
..............................................................................
str2.Append("</tr>");
最后更新:2017-04-02 22:16:00