我在我的表中有2個字段:姓名,家庭。我想用一個編輯器插入這兩個項目。在asp.net web表單,我們將其插入這樣的:如何用一個編輯器插入兩個模型項目?
sqlcommand1.parameters.addwithvalue( 「場」,txtName.text + txtFamily.text);
我爲此在MVC:
@ Html.EditorFor((型號=> model.Name)& &(型號=> model.Family))
現在我想知道我該怎麼做?
我在我的表中有2個字段:姓名,家庭。我想用一個編輯器插入這兩個項目。在asp.net web表單,我們將其插入這樣的:如何用一個編輯器插入兩個模型項目?
sqlcommand1.parameters.addwithvalue( 「場」,txtName.text + txtFamily.text);
我爲此在MVC:
@ Html.EditorFor((型號=> model.Name)& &(型號=> model.Family))
現在我想知道我該怎麼做?
我想補充另一個屬性在模型中,全名:
public string FullName
{
get { return Name + " " + Family; }
set
{
string[] names = value.Split(' ');
Name = names[0];
if (names.Length > 1) Family = string.Join(" ", names.Skip(1).ToArray());
}
}
然後你就可以在視圖中使用它:
@Html.TextBoxFor(model => model.FullName)
您可能已經看到了與此相關的錯誤消息,因爲「模板只能用於字段訪問,屬性訪問,單維數組索引或單參數自定義索引器表達式。」
EditorFor的想法是,您正在使用現有值並將變化綁定回模型中。所以你試圖綁定回兩個屬性是沒有意義的。它如何知道如何分割文本?
如果您已經創建或要創建自己的編輯器模板,則不必擁有單獨的屬性或模型。您可以使用界面作爲編輯器的基礎。因此,如果創建一個名爲INameAndFamily的接口並且說基於該接口的對象需要Name和Family屬性,則可以定義一個期望該接口的編輯器。
如果你想更具體的編輯器,我可以幫助更詳細的答案。
+1,這是正確的答案。 –
不幸的是我使用ADO.NET實體數據模型,我沒有任何課程。如何在ado.net數據模型中使用它? –