基于单选按钮的MVC用户控件需要帮助

时间:2011-03-18 10:55:29

标签: asp.net asp.net-mvc-2 ascx

我有一个MVC用户控件,可以在我的MVC应用程序中显示单选按钮。问题是如何让它为每个控件显示唯一的q组名称。我需要以某种方式将一个参数传递给该名称,因为该名称未设置为与我在页面上使用该控件的其他每组单选按钮相同。

如果这不是MVC,我会立即知道如何做到这一点。

<%@ 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 :(得分:0)

如果您将某些模型数据传递给用户控件,则可以使用此功能对单选按钮进行分组。

更改顶行以声明要传递的模型类型,例如:

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

班级“群组”是指包含群组名称的班级。

e.g。

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>

然后,您可以根据所需的组名,多次使用RenderPartial HTML帮助程序显示此用户控件。

<% Html.RenderPartial("PartialControlName", new Group { Name = "need" }); %>