我想实现一个最简单的(所以在我看来)一个TextBox的数据绑定到页面的一个属性,除了数据绑定应该是双向的,所以而不是<%# Test %>
,我用<%# Bind("Test") %>
。双向串属性的TextBox在ASP.NET Web窗体的结合
TestForm.aspx
:(其实,我们的目标是有一个单一的对象作为一个属性,绑定到其属性,但让我们从简单的东西开始),我对这个简单的代码测试它<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TestTextBox" runat="server" Text='<%# Bind("Test") %>' />
</div>
</form>
</body>
</html>
TestForm.aspx.cs:
using System;
namespace WebApplication1
{
public partial class TestForm : System.Web.UI.Page
{
public string Test { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Test = "Hello";
}
}
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
DataBind();
}
}
}
的DataBind()的结果中的呼叫的InvalidOperationException
:数据绑定方法如eval()函数,XPath的(),和Bi nd()只能用于数据绑定控件的上下文中。
有什么不对的这种做法?