Я пытался выяснить, как заполнить specfic-интерфейс через форму в представлении. Интерфейс в другом проекте и пространство имен, то, что моего контроллера/зрения и автоматически создается для хранения данных в базе данных:Передача интерфейса от представления к контроллеру
пространства имен Интерфейс Код:
DataAccess.DAL.IVehicle
namespace DataAccess.DAL
{
public partial interface IVehicle
{
String vehicleName { get; set; }
int maxSpeed { get; set; }
}
}
У меня есть контроллер, который имеет метод действия для получения информации из формы в представлении:
Controller Код:
namespace coreproject.Controllers
{
public class NewVehicleController
{
[HttpPost, ValidateInput(false)]
public JsonResult AddVechicle(IVehicle newVehicle)
{
// I expect that newVechicle is populated via the form
}
}
}
Я понимаю, что я должен использовать Html.BeginForm в представлении. Ниже приведен какой-то код, который я придумал, что, по моему мнению, понадобится в представлении.
View Code:
<%
// This is not working, I am not sure how to tell the view I want the form
// to use the interface located in the following namespace.
@Model DataAccess.DAL.IVehicle;
using (Html.BeginForm("AddVehicle", "NewVechicle", FormMethod.Post))
// Below I understand that I would need some code in the form of Html.EditorFor to
// populate the IVehicle interface in the form. I have seen this as an example:
<%: Html.EditorFor(model => model.VehicleName) %>
<%: Html.EditorFor(model => model.maxSpeed) %>
<%:
}
%>
Вопросы, которые я бы в два раза, и связаны с точки зрения:
- Как узнать мнение я хочу использовать интерфейс, расположенный в DataAccess .DAL, который находится в другом проекте и пространстве имен, чем представление?
- Как заполнить вышеупомянутый интерфейс в форме, чтобы передать его контроллеру?
Любая помощь была бы принята с благодарностью.
Вам не хватает e «GET» часть контроллера, является ли это полным источником для проекта? –