[英]Call code behind method from aspx
我有以下aspx代碼,我在后面的代碼中調用方法。 方法背后的代碼結果未在頁面中呈現。
<%@ Page Language="C#" AutoEventWireup="false" Src="LeftMenuSrce.aspx.cs" Inherits="LeftMenuSrce" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<html>
<head>
<title>Home</title>
</head>
<body>
<asp:Table ID ="LeftMenuTable" runat="server">
<asp:TableRow>
<asp:TableCell ID="LeftMenuSrce" OnDataBinding="_getLeftMenuSrc"></asp:TableCell></asp:TableRow>
</asp:Table>
</body>
</html>
下面是我的cs代碼:
public class LeftMenuSrce : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TableCell LeftMenuSrce;
protected System.Web.UI.WebControls.Table LeftMenuTable;
protected void Page_Load(object sender, EventArgs e)
{
LeftMenuSrce.DataBind();
}
protected string _getLeftMenuSrc()
{
string leftMenu;
leftMenu = "LeftMenuNew.aspx";
return leftMenu;
}
}
即使我嘗試了div而不是asp:tables,但也沒有任何效果。
<div>
<%#_getLeftMenuSrce()%>
</div>
有什么線索可以解決這個問題? 提前致謝。
請注意,我引用了以下鏈接,但沒有任何幫助。
使用<%=_getLeftMenuSrc() %>
您必須將方法“ _getLeftMenuSrc()”實現為事件處理程序。
例:
protected void _getLeftMenuSrc(object sender, EventArgs e) {}
我猜您只是嘗試將一些文本寫入TableCell LeftMenuSrce
。 一種實現方法是編寫如下的OnPreRender事件處理程序:
protected void TableCell1_OnPreRender(object sender, EventArgs e)
{
TableCell1.Text = "My text in a cell !!";
// Hint: 'sender' is your table cell ;-)
((TableCell) sender).Text = "My other text in that cell !!";
}
另一種方法是在Page_Load事件內填充所有表單元格。 像這樣:
protected void Page_Load(object sender, EventArgs e)
{
TableCell1.Text = "My text in a cell !!";
}
順便說一句:不要使用表格來構建導航;-)。 嘗試以下鏈接: http : //www.w3schools.com/css/css_navbar.asp
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.