如何从ascx页面访问<asp:hidden>控件的id到cs页面</asp:hidden>

时间:2011-09-27 11:36:52

标签: asp.net c#

这是我的 ascx 代码:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Demo.ascx.cs"
            Inherits="Demo" %>
<asp:HiddenField ID="hidden" runat="server" Value="" />

aspx

<%@ Register TagName="Hidden" TagPrefix="CRS" Src="~/Demo.ascx" %>

<div>
   <CRS:Hidden ID="hid" runat="server" />
</div>

现在如何访问隐藏变量ID从ascx页面到此cs页面后端

2 个答案:

答案 0 :(得分:3)

你的意思是实际身份证吗?或隐藏字段中的值?

您可以使用FindControl方法

访问该值
HiddenField hf = (HiddenField)this.hid.FindControl("hidden");
string theValue = hf.Value;

不确定这是否正是您所寻找的。

或者,您可以在UserControl中声明一些可以直接访问的公共属性

在ascx代码中:

public string theValue { get; set; }

在aspx代码中:

string theValue = this.hid.theValue;

答案 1 :(得分:0)

要从asp.net网页访问HiddenField内的UserControl,您需要连接一个名为Public Property的内容。

此代码应添加到后面的UserControl ascx.cs代码中:

public string Value
{
    get { return hidden.Value; }
    set { hidden.Value = value; }
}

然后你可以在asp.net页面中编写这样的代码:

string SomeHiddenValue = hid.Value;
hid.Value = "Its a secret!";

注意:我没有编译这个,所以我不确定Value的公共属性名是否会编译。我也不确定set { hidden.Value = value; }中的第二个值是否需要大写。如果遇到问题,请尝试更改这两个值。