2013-07-02 5 views
1

модель 1 DBClientMVC Частичный вид и модель выдает

ClientId, клиент (имя), clientcontact, и ICollection Countys

модель 2 dbcounty

countyID, ClientId, окружные (имя) , countyOther

Обзор:

Создание клиента View, который имеет (View) Countys ActionLink - сделано + оборотный

Создание View County, который имеет (создавать, редактировать, удалять, детали) ActionLink - сделано +, частично работает

, чтобы получить мой Countys:

@Html.ActionLink("Countys", "Index", "County", new { id=item.ClientID },null) 

от Countys, чтобы добраться до моего Новый:

@Html.ActionLink("Create New", "Create", new { id = Model.ClientID}) 

от контроллера для просмотра (прохождение кли entID не CountyID)

public ActionResult Create(int id=0) 
    { 
     dbClient Client = db.Clients.Find(id); 
     if (Client == null) 
     { 
      return HttpNotFound(); 
     } 
     return View(Client); 
    } 

в представлении: Вот проблема, в том, что я хочу, чтобы создать графство и не использовать ICollection из Countys от клиентов, но в то же время хотел бы показать, что клиент, которого мы создание этого округа для

@model OilNGasWeb.ModelData.dbClient 

@{ 
ViewBag.Title = "Create"; 
} 

<h2>Create County</h2> 

@Html.Partial("_CreateCounty", Model.County) <----** Here ** Model.County is a string and Model.Countys is an icollection, i just want the normal model ??? 

<div> 
@Html.ActionLink("Back to List", "Index", new { id=Model.ClientID}) 
</div> 

@section Scripts { 
    @Scripts.Render("~/bundles/jqueryval") 
} 

частичного вид: Кажется быть волнуется, потому что ICollection или строка передается -.-, но я хочу этого нужно просто модель, потому что им предполагая, вот что мне нужно для MVC Рамка для создания вставки правильно?

@model OilNGasWeb.ModelData.dbCounty 

@using (Html.BeginForm()) { 
@Html.AntiForgeryToken() 
@Html.ValidationSummary(true) 

<fieldset> 
    <legend>Countys</legend> 
    //data 
    //data 
    //data 
</fieldset> 

Im извините, если это не делает Sence пожалуйста, сообщите, что вам нужно от меня до сих пор обучения Mvc

Позвольте мне пересмотреть вопрос выше, в чем-то я знаю лучше

думать о Приложение vb.net

(у вас есть клиенты и есть идентификаторы в списке) после выбора клиента вы хотите показать другой список (на этот раз editabl д) с Countys информации (теперь вы только хотите, чтобы захватить Countys информацию, создать вставки линии для базы данных с клиентами выбранной ClientId)

, что объяснить это лучше, трудное время, создавая что-то вроде этого для MVC

другой вариант будет каким-то образом создать новый округ, включить раскрывающийся список клиентов (и их соответствующие идентификаторы) и использовать идентификатор вместе с редактируемой информацией графства?

+0

Почему вы передаете идентификатор ClientID вместо идентификатора округа? –

+0

Хороший вопрос, я думаю, в любом случае причина, по которой я передаю его, а не в CountyID, заключается в том, что в моей базе данных все Countys основаны на CountyID, но также как ClientID, поэтому, когда я создаю новое окружение, он должен передать ClientID, а не идентификатор округа, так как он автоматически учитывается при вставке. – Pakk

+0

Хорошо, вот что я подумал. Всего лишь уточняю. Я отправлю ответ в ближайшее время. –

ответ

2

Поскольку вы отслеживаете, какие округа принадлежат каждому клиенту, я не понимаю, зачем вам нужно передавать что-либо помимо ClientID для создания.

Так что ваш создать вид может выглядеть как

@model OilNGasWeb.ModelData.dbClient 

@{ 
    ViewBag.Title = "Create"; 
} 

<h2>Create County</h2> 

@Html.Partial("_CreateCounty", new OilNGasWeb.ModelData.dbCounty() { clientID = Model.ClientID }) <!-- pass the client ID to the partial 

<div> 
    @Html.ActionLink("Back to List", "Index", new { id=Model.ClientID}) 
</div> 

@section Scripts { 
    @Scripts.Render("~/bundles/jqueryval") 
} 

Для Редактировать/удалить/Вид на детали, вы должны быть в состоянии просто передать CountyID или сам объект из модели.

+0

и соответствующий _CreateCounty View будет выглядеть? из-за того, что я понимаю, чтобы MVC Framework узнала, какую модель использовать, я должен объявить модель вверху, как в модели @ OilNGasWeb.modelData.dbCounty для Partial (которая, как я думал, не работает при передаче model.clientID) - или он как-то все еще знает, как его создать? также я бы все еще использовал лямбда-выражения, чтобы заполнить поля @ HTML.EditorFor и Label для полей или оставить их пустыми? в каком случае я не могу просто поместить их в исходное представление Create вместо создания частичного? – Pakk

+0

Другими словами, не нужно ли мне проходить мимо countys до моего частичного? – Pakk

+0

Ах да, поэтому вы просто создадите новый объект dbCounty, с уже назначенным идентификатором клиента, а затем передайте его в свой вид. Я обновил свой ответ. –

Смежные вопросы