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