【发布时间】:2014-07-02 08:02:40
【问题描述】:
我有以下 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>
有什么线索可以解决这个问题吗?提前致谢。
请注意,我参考了以下链接,但没有任何帮助。
How to call a code-behind method from aspx page?
【问题讨论】:
-
OnDataBinding方法不是这样工作的。它不应该返回一个值,它必须有一个EventArgs参数,并且它应该正确处理分配值 - msdn.microsoft.com/en-us/library/…