如何在用户控件中传递值

时间:2016-12-06 14:59:14

标签: javascript c# jquery asp.net user-controls

您好我在<%= MutlipleB%>中设置了一个值以下是我的Usercontrol在.aspx页面中调用。 假设<%= MutlipleB%>是字符串格式,我已将值设置为" 1"或" 2"即从代码侧动态设置。我想在用户控件中传递此值。但它的值是<%= MutlipleB%>不是" 1"或" 2"。 我怎么能通过我的正确值?

<eu:EASIUp ID="myeasiup" runat="server" Quantity="-1" CanBeZero="false" NameID='<%= MutlipleB %>'></eu:EASIUp>

或尝试传递值

<%# MutlipleB %> / <%= this.MutlipleB %> / <%# this.MutlipleB %>//Still not working

用户控制代码

private string _nameID="0";
public string NameID
{
    get
    {
        return _nameID.ToString();
    }
    set { _nameID = value; }
}

在&lt;%= MutlipleB%&gt;中设置值如下面的aspx.cs代码

private string _multipleB = "0";
public string MutlipleB
{
    get { return _multipleB; }
    set { _multipleB = value; }
}

如何在用户控制端检索值

传递此值的主要原因是在UserControl上我们正在生成动态控件,并且应该生成与传递的值相关的此控件的ID

2 个答案:

答案 0 :(得分:0)

为您的用户控件提供公共属性。

public partial class myCustomControl : System.Web.UI.UserControl
{
    public string NameID { get; set; }
}

然后您可以设置或获取后面的aspx页面代码的值。

protected void Page_Load(object sender, EventArgs e)
{
    myeasiup.NameID = "myString";
}

答案 1 :(得分:0)

在页面(FILENAME.ascx.cs)后面打开用户控件的代码。在那里你添加了以下属性。

public string Value { get; set; }

因此,整个代码页如下:

namespace YOUR.NAMESPACE
{
    public partial class CLASS_NAME : UserControl
    {
        public string Value { get; set; }

        ... // REST OF CODE

    }
}

您可以简单地将数据传递给您的代码,如下所示,您使用的是用户控件:

<TAG_PREFIX:CLASS_NAME runat="server" Value="YOUR_DATA" ID="SomeId"/>

或者来自下面的代码:

SomeId.Value = "YOUR_DATA";

希望这有帮助。