2012-07-04 33 views
1

我在我的表中有2個字段:姓名,家庭。我想用一個編輯器插入這兩個項目。在asp.net web表單,我們將其插入這樣的:如何用一個編輯器插入兩個模型項目?

sqlcommand1.parameters.addwithvalue( 「場」,txtName.text + txtFamily.text);

我爲此在MVC:

@ Html.EditorFor((型號=> model.Name)& &(型號=> model.Family))

現在我想知道我該怎麼做?

回答

3

我想補充另一個屬性在模型中,全名

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) 
+0

+1,這是正確的答案。 –

+0

不幸的是我使用ADO.NET實體數據模型,我沒有任何課程。如何在ado.net數據模型中使用它? –

0

您可能已經看到了與此相關的錯誤消息,因爲「模板只能用於字段訪問,屬性訪問,單維數組索引或單參數自定義索引器表達式。」

EditorFor的想法是,您正在使用現有值並將變化綁定回模型中。所以你試圖綁定回兩個屬性是沒有意義的。它如何知道如何分割文本?

如果您已經創建或要創建自己的編輯器模板,則不必擁有單獨的屬性或模型。您可以使用界面作爲編輯器的基礎。因此,如果創建一個名爲INameAndFamily的接口並且說基於該接口的對象需要Name和Family屬性,則可以定義一個期望該接口的編輯器。

如果你想更具體的編輯器,我可以幫助更詳細的答案。

相關問題