Asp.net 带有输入参数的用户控件
我有一个属性为(*.acsx.cs)的用户控件: 是否有某种方法可以将参数传递给*.aspx中的此控件,类似这样的内容Asp.net 带有输入参数的用户控件,asp.net,user-controls,Asp.net,User Controls,我有一个属性为(*.acsx.cs)的用户控件: 是否有某种方法可以将参数传递给*.aspx中的此控件,类似这样的内容 <% foreach (Person p in persons) { %> <uc:PersonAccessStatus ID="PersonAccessStatus" runat="server" Person=p /> <% } %> 是。您可以在UserControl上创建属性。我通常使用它来启用或禁用控件的功能
<% foreach (Person p in persons) { %>
<uc:PersonAccessStatus ID="PersonAccessStatus" runat="server" Person=p />
<% } %>
是。您可以在UserControl上创建属性。我通常使用它来启用或禁用控件的功能。在aspx中分配值很简单
<uc:PersonAccessStatus ID="PersonAccessStatus" runat="server" EnableSomething="true" />
谢谢你,g。你真的帮助了我,虽然我还没有找到更优雅的解决方案。从*.aspx的侧面看,它看起来是这样的:
<%foreach (Person p in persons)
{
controls_PersonAccessStatus control = LoadControl("~/App_Controls/PersonAccessStatus.ascx") as controls_PersonAccessStatus;
control.Person = p; %>
<%=RenderControl(control) %>
<%}%>
所有参数和函数必须在asp用户控件中用
声明才能多次使用
例如:
var ii<%= this.ID %> = 0;
varⅡ=0;
或
function load_2v()
{
var BI1=document.getElementById(“”);
var BI2=document.getElementById(“”);
开关(二){
<%foreach (Person p in persons)
{
controls_PersonAccessStatus control = LoadControl("~/App_Controls/PersonAccessStatus.ascx") as controls_PersonAccessStatus;
control.Person = p; %>
<%=RenderControl(control) %>
<%}%>
public string RenderControl(Control ctrl)
{
StringBuilder sb = new StringBuilder();
StringWriter tw = new StringWriter(sb);
HtmlTextWriter hw = new HtmlTextWriter(tw);
ctrl.RenderControl(hw);
return sb.ToString();
}
var ii<%= this.ID %> = 0;
function load_2v<%= this.ID %> ()
{
var BI1 = document.getElementById("<%= Li1.ClientID %>");
var BI2 = document.getElementById("<%= Li2.ClientID %>");
switch (ii<%= this.ID %>) {