MVCアプリケーションでMVC剣道コンボボックスコントロールを実装しています。剣道コンボボックスコントロールには、それぞれvalueプロパティとtextプロパティにバインドされたモデルプロパティが含まれています。 textプロパティには、CompanyCodeCompanyという連結モデルプロパティが含まれています。私は基本的に会社のコードを抽出し、それをデータベースに保存しながらその値が必要なので、viewmodelの会社コードプロパティに割り当てる必要があります。国コードと会社コードの両方が必要です。現在、コンボボックスの値フィールドはCountryCodeにバインドされています。現在、コンボボックスはSalesOrganisation viewmodelを使用して作成され、メインフォームはnewrequest viewmodelを使用してデータをポストします。新しいリクエストviewmodelでCompanyCodeCompanyプロパティを試しました。でも、このコードはコンボ@(Html.Kendo()。ComboBoxFor(model => model.CountryCode)は、国コードだけをバインドすることになります。理想的な方法は、会社を取得することでしたsalesorganisationからコード値は、とのViewModel直接かみそりで新しい要求に割り当てます。剣道MVCコンボのDataTextFieldから値を取得し、それをビューモデルに割り当てる
私はわからないアプローチにcompanycode値を取得するために取る。
<div class="form-group">
@Html.LabelFor(model => model.Company, htmlAttributes: new { @class = "control-label col-md-4" })
<div class="col-md-8">
<div class="editor-field">
@(Html.Kendo().ComboBoxFor(model => model.CountryCode)
// .Name("SalesOrganisation")
.HtmlAttributes(new { style = "width:100%" })
.DataTextField("CompanyCodeCompany")
.DataValueField("CountryCode")
.Filter("contains")
.MinLength(3)
.Value(@user.DefaultCountryCode)
.DataSource(dataSource => dataSource
.Read(read => read.Action("RequestHeader_SalesOrganisation", "Request").Type(HttpVerbs.Post))
.ServerFiltering(true)
)
)
</div>
@Html.ValidationMessageFor(model => model.Company, "", new { @class = "text-danger" })
</div>
</div>
販売組織のViewModel
public class SalesOrganisationViewModel
{
public string CountryCode { get; set; }
public string CompanyCode { get; set; }
[Display(Name = "Sales Organisation")]
public string Company { get; set; }
public string CompanyCodeCompany
{
get
{
return CompanyCode + " - " + Company;
}
}
}
NewRequestのViewModelあなたの他の質問と同様に
public class NewRequestViewModel
{
private string name;
[Display(Name = "Request Id")]
public int RequestID { get; set; }
public int CustomerMasterDataId { get; set; }
[Display(Name = "Customer Number")]
public int CustomerNumber { get; set; }
[Display(Name = "Customer Name")]
public string Name1 { get; set; }
[Display(Name = "Customer Group")]
public string CustomerGroup { get; set; }
public string CountryCode { get; set; }
public string CompanyCodeCompany { get; set; }
}