【问题标题】:ASP.NET Passing variable from .aspx page to UserControlASP.NET 将变量从 .aspx 页面传递到 UserControl
【发布时间】:2014-06-10 20:04:26
【问题描述】:

我有一个用户控件,我想从我的 .aspx 页面向它传递一个值。我在用户控件中设置了一个属性来设置我需要从页面中获取的值,但该值始终为空。

这是我在.aspx页面中的控制代码,

<tcs:SubmitDataDiscrepancy runat="server" ID="SubmitDataDiscrepancy" EntityNameProp='<%# Bind("Association_Name") %>'/>

.ascx 代码,

<div style="text-align:right;">
<asp:LinkButton ID="ReportLink" runat="server" Text="Report data discrepancy"></asp:LinkButton>

<asp:Panel ID="ReportPanel" runat="server" CssClass="modalPopup" style="width:auto;">
<div id="PopHeader" style="background-color: black; color: white; height: auto;">
    Report discrepancy
        <div style="float: right;">
            <asp:LinkButton runat="server" ID="AssociationCancelTextButton" CausesValidation="False" Font-Underline="false"
                CssClass="glyphicon glyphicon-remove white" ToolTip="Close" />
        </div>
</div>
<div style="margin:10px;">
    <div>
        Submit change request for: <asp:Label ID="EntityName" runat="server" />
    </div>
    <div>
        <textarea id="reportTextArea" runat="server" class="form-control" style="height: 100px; margin-bottom:10px; width: 100%;"></textarea>
        <button id="reportSubmitButton" runat="server" class="btn btn-primary" type="submit">Submit</button>
    </div>
</div>

和 .ascx.cs 页面,

    public partial class SubmitDataDiscrepancy : System.Web.UI.UserControl
{
    public string EntityNameProp { get; set; }

    protected void Page_Load(object sender, EventArgs e)
    {
        EntityName.Text = EntityNameProp;
    }
}

为什么我没有从 .aspx 页面获得预期的价值?

【问题讨论】:

    标签: c# asp.net user-controls


    【解决方案1】:

    所有变量都在页面生命周期结束时被释放,这就是 HTTP 的无状态特性。所以你需要一种方法来持久化你的财产。例如,您可以使用 ViewStateSessionHiddenField (Other ways)。

    在这种情况下,只需使用Label.Text

    public partial class SubmitDataDiscrepancy : System.Web.UI.UserControl
    {
        public string EntityNameProp { 
            get { return EntityName.Text; }
            set{ EntityName.Text = value; }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2011-02-15
      • 2023-03-11
      • 1970-01-01
      • 2012-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-11
      • 1970-01-01
      相关资源
      最近更新 更多