Как создать отношения многих ко многим в представлении - PullRequest
0 голосов
/ 24 августа 2011

Позвольте мне быть более конкретным в моем вопросе.

У меня есть отношения многие ко многим.У меня есть возможность и у меня есть предметы.

В моем представлении «Возможность / Создать» я хочу иметь возможность «добавлять» столько предметов из списка, сколько мне нужно.Поэтому, когда я нажимаю кнопку «Сохранить» в форме создания, я потенциально могу сохранить множество элементов, которые будут связаны с этой записью.

Поэтому единственный способ сделать это - включить поле для щелчка для каждого элемента вмой стол предметов?Как бы я сделал что-то вроде Нажмите эту кнопку, чтобы вставить новый элемент из выпадающего списка?

Модели:

public class Opportunity
{
    public int Id { get; set; }
    public string MyOpportunity { get; set; }
}

public class Items
{
    public int Id { get; set; }
    public string ItemName { get; set; }

}

public class ItemsToOpportunity
{
    public int Id { get; set; }
    public int OpportunityId { get; set; }
    public int ItemId { get; set; }

}

1 Ответ

0 голосов
/ 24 августа 2011

Исходя из вашего вопроса и комментария, кажется, что вам просто нужно предоставить форму с несколькими флажками или около того.

Затем, когда вы отправляете сообщение на сервер, общее имя флажков становится набором идентификаторов, разделенных запятыми, для использования.

 <input type="checkbox" name="myNewOpportunityItems" value="1"><span>Item 1</span>
 <input type="checkbox" name="myNewOpportunityItems" value="2"><span>Item 1</span>
 <input type="checkbox" name="myNewOpportunityItems" value="3"><span>Item 1</span>
 <input type="checkbox" name="myNewOpportunityItems" value="4"><span>Item 1</span>

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

 public ActionResult MyPostActionResult(string myNewOpportunityItems)
 {
       // myNewOpportunityItems == "1,3,4";
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...