如何访问不同页面中的隐藏字段值?

时间:2015-07-31 09:57:21

标签: javascript c# user-controls

是否可以在一个usercontrol(.ascx文件)中访问另一个usercontrol(.ascx文件)中的hiddenfield值?如果是,那么如何将隐藏字段值从一个usercontol传递到另一个usercontol。 这是存储图像URL的隐藏字段

<asp:HiddenField ID="hdnGoogleProfilePic" runat="server" />
像这样的中的

imageurlHTML = "<img src='" + resp['image']['url'] + "' />"; hdnGoogleProfilePic = imageurlHTML;

现在我必须将此隐藏字段值发送到其他usercontrol,以便在该usercontrol中显示图像。 你能救我吗?

2 个答案:

答案 0 :(得分:0)

您可以尝试使用ajax和jquery发送它:

$.ajax(
    url: "path/to/your/ctrl",
    data: {value: yourElement}
}).done(function() {
 ....
});

答案 1 :(得分:0)

在UserControl#1中,您可以将该值添加到Session变量,而在UserControl#2中,您可以将其绑定/读取到&#34; runat = server&#34;输入元素例如:

假设你在UC#1中有这个:

<asp:HiddenField ID="hdnGoogleProfilePic1" runat="server" value="Something" />

假设您需要UC2中hdnGoogleProfilePic1的值。

在事件处理程序的UC#1页面中(您知道客户端已将值发送到服务器的事件,例如点击按钮),请添加以下内容:

Session["myHiddenField"] = hdnGoogleProfilePic1.Value;

在UC2中添加此方法:

public String GetHiddenFieldVal(){
  if (Session["myHiddenField"]){
    return ((String)(Session["myHiddenField"]));
  }
  return "";
} 

然后在UC2中,在你的标记中添加:

<asp:HiddenField ID="hdnGoogleProfilePic2" runat="server" value="<%# GetHiddenFieldVal()%>" />

所以你在UC2的另一个隐藏字段中使用了UC1中的hdnGoogleProfilePic1。

希望它有所帮助。