从aspx调用方法后面的代码

本文关键字:代码 方法 aspx 调用 | 更新日期: 2023-09-27 18:11:01

我有以下aspx代码,我从后面的代码调用一个方法。code behind方法的结果是无法在页面中呈现。

<%@ 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>

有解决这个问题的线索吗?提前谢谢。

请注意,我参考了下面的链接,但没有任何帮助。

如何从aspx页面调用代码隐藏方法?

从aspx页面调用代码后方法

ASP。. NET -在.aspx页面中使用变量

从aspx调用方法后面的代码

使用<%=_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