我在视图模型定义,像这样的属性 -如何在这个特定的ASP.NET MVC场景中正确使用C#属性?
public string FullName
{
get { return FirstName + " " + LastName; }
set {
FirstName = FullName.Split(null)[0];
LastName = FullName.Split(null)[1];
}
}
public string FirstName { get; set; }
public string LastName { get; set; }
我的Razor视图有这个 -
<label for="FullName">Name</label>
@Html.TextBox("FullName", Model.FullName)
虽然我能够设置全名和当在文本框中显示出来页面加载时,我无法检索提交表单时的值。
当我更改值时,我也需要从这个文本框中检索值。 我在这里做错了什么?
可以使FullName属性以及解析FullName或使FullName成为一种方法的First和Last方法,该方法在组合First和Last的剃刀视图中无法使用。在FullName的Setter中做你正在做的事情是不好的。 –
“FullName”是否应该拥有'set;'属性? –
在您的setter中,您尝试将'FirstName'和'LastName'属性设置为'FullName'的值,后者又调用返回'FirstName'和'LastName'值为'null'的getter,因为它们没有已设置。 –