2011-03-18 143 views
0

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

如果这不是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> 

感谢 安迪

回答

0

如果你通过一些模型数据到用户控件,那么你就可以用这个组的单选按钮。

更改顶行申报你逝去的型号,如:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<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> 

然后,您可以使用的RenderPartial HTML帮助从它的基础上,你需要的组名的父多次显示该用户的控制。

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

感谢您的帮助,听起来像一个很好的计划!我使用ViewDataKey管理'hackey'方式​​”value =“5”/> – 2011-03-18 11:23:09