2011-03-18 74 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