【发布时间】:2020-02-26 22:07:07
【问题描述】:
我正在尝试使用 ASP.NET 配置文件将默认 machine.config (.Net Framework 4.5.2) 的用户数据保存到 web.config 仅添加了站点。
<system.web>
<profile>
<properties>
<add name="AddressInfo" type="UserAddress" serializeAs="Binary"/>
</properties>
</profile>
</system.web>
我通过简单的代码隐藏(在第 3 页的文本框和按钮上)对其进行了测试
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
GetUserAddress();
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
// Database writes happening here!
Profile.AddressInfo.City = txtCity.Text;
Profile.AddressInfo.Street = txtStreetAddress.Text;
Profile.AddressInfo.State = txtState.Text;
// Get settings from database.
GetUserAddress();
}
private void GetUserAddress()
{
// Database reads happening here!
lblUserData.Text = String.Format("You live here: {0}, {1}, {2}",
Profile.AddressInfo.Street, Profile.AddressInfo.City,
Profile.AddressInfo.State);
}
}
[Serializable]
public class UserAddress
{
public string Street = string.Empty;
public string City = string.Empty;
public string State = string.Empty;
}
应用程序启动,“OnClick”没有错误地执行方法(btnSubmit_Click(...) 和GetUserAddress())并更新lblUserData 标签的值,但没有写入数据库(也没有创建数据库本身 - ASPNETDB。 App_Data 文件夹站点中的 mdf)。重新打开页面后对应的个人资料属性和lblUserData标签为空。
【问题讨论】: