Я использую пользовательские шаблоны в своем проекте MVC для отображения различных типов объектов по-разному.Некоторые работают, а другие нет!Для тех, кто не работает, они передаются в мой собственный шаблон object.cshtml, а не в свой собственный.
Вот пример.В этом примере я создаю тип поиска адреса, который я хочу визуализировать в первой строке поля адреса и почтового индекса с помощью кнопки поиска.
Мой ViewModel имеет следующее:
namespace MyProject.Views
{
public class AddressLookup
{
public string Postcode { get; set; }
public string FirstLine { get; set; }
}
public class RegistrationViewModel
{
[DisplayName("Address Lookup")]
public AddressLookup addressLookup { get; set; }
}
}
Мой взгляд выглядит следующим образом:
@model RegistrationViewModel
<div class="well" id="form-well">
<h2>Register New User</h2>
<h3>Step 1 of 3 - Login Details</h3>
@using (Html.BeginForm("RegisterNewUser", "Controller", FormMethod.Post, new { @class = "form-horizonal" }))
{
@Html.AntiForgeryToken();
@Html.EditorForModel(Model);
@Html.ValidationSummary();
<div style="padding: 15px;" class="form-group col-md-offset-3">
<input type="submit" value="Next" class="btn btn-lg btn-success" />
</div>
}
</div>
Мой AddressLookup.cshtml выглядит так:
@using MyProject
@model AddressLookup
@Html.TextBoxFor(x => x.FirstLine)
@Html.TextBoxFor(x => x.Postcode)
<p>
<button class="btn btn-info" type="button" onclick="alert('lookup');" value="Add new address">Lookup address</button>
</p>
Но при отладке он запускает код в object.cshtml в папке EditorTemplatesа не тот, что для AddressLookup.
Есть мысли?
Спасибо, Саймон