Требуется помощь с переключателем на основе MVC User Control - PullRequest
0 голосов
/ 18 марта 2011

У меня есть пользовательский элемент управления MVC, который отображает переключатели в моем приложении MVC.Проблема в том, как заставить его отображать уникальное имя группы q для каждого элемента управления.Мне нужно как-то передать ему параметр, чтобы имя не было таким же, как у любой другой группы переключателей, для которых я использовал элемент управления на странице.как это сделать сразу.

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>

<td><input type="radio" name="need" value="4"/></td>
<td><input type="radio" name="need" value="3"/></td>
<td><input type="radio" name="need" value="2"/></td>
<td><input type="radio" name="need" value="1"/></td>

<td><input type="radio" name="current" value="4"/></td>
<td><input type="radio" name="current" value="3"/></td>
<td><input type="radio" name="current" value="2"/></td>
<td><input type="radio" name="current" value="1"/></td>

Спасибо, Энди

1 Ответ

0 голосов
/ 18 марта 2011

Если вы передадите некоторые данные модели в пользовательский элемент управления, вы сможете использовать их для группировки своих переключателей.

Измените верхнюю строку, чтобы объявить тип модели, который вы передаете, например:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Group>" %>

Где класс 'Group' - это класс вашего создания, содержащий имя группы.

, например

public class Group
{
   public string Name { get; set; };
}

Затем ваш пользовательский элемент управления отображает следующее:

<td><input type="radio" name="<%: Model.Name %>" value="4"/></td>
<td><input type="radio" name="<%: Model.Name %>" value="3"/></td>
<td><input type="radio" name="<%: Model.Name %>" value="2"/></td>
<td><input type="radio" name="<%: Model.Name %>" value="1"/></td>

Затем этот пользовательский элемент управления можно отобразить с помощью вспомогательного средства HTML RenderPartial от его родителя несколько раз в зависимости от требуемого имени группы.

<% Html.RenderPartial("PartialControlName", new Group { Name = "need" }); %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...