2016-08-16 4 views
0

У меня есть следующие:скрытое в ASCX не могут быть использованы в CS вызова

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ctlChatBox.ascx.cs" Inherits="SignalRPrivateChat.controls.ctlChatBox" %> 
<div id="chat_widnow"> 
    <div id="chat_title_bar"> <span class="col-sm-9 text-primary"><strong>Online Users</strong></span> 
     <div id="chat_min_button"><i class="fa fa-plus-square"></i></div> 
    </div> 
    <div id="chat_box" style="display: none;overflow-y:auto;"> 
    </div> 
</div> 
<div id="chat_div"></div> 
<input id="hdId" type="hidden" /> 
<input id="hdUserName" type="hidden" /> 
<asp:HiddenField ID="hdnCurrentUserName" runat="server" /> 
<asp:HiddenField ID="hdnCurrentUserID" runat="server" /> 
<script src="<%=Page.ResolveUrl("~") %>Scripts/jquery.signalR-2.2.0.min.js"></script> 
<!--Reference the autogenerated SignalR hub script. --> 
<script src="<%=Page.ResolveUrl("~") %>signalr/hubs"></script> 
<link href="<%=Page.ResolveUrl("~") %>styles/jquery.ui.chatbox.css" rel="stylesheet" /> 
<script src="<%=Page.ResolveUrl("~") %>scripts/jquery.ui.chatbox.js"></script> 
<script src="<%=Page.ResolveUrl("~") %>scripts/chatboxManager.min.js"></script> 

где hdnCurrentUserName и hdnCurrentUserID являются HiddenField s, но когда я их называю здесь:

public partial class ctlChatBox : System.Web.UI.UserControl 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      if (Session["UserName"] != null && Session["UserId"] != null) 
      { 
       hdnCurrentUserName.Value = Session["UserName"].ToString(); 
       hdnCurrentUserID.Value = Session["UserId"].ToString(); 
      } 
     } 
    } 

Я получаю ошибку of

В текущем контексте имя "hdnCurrentUserName" не существует. В текущем контексте имя «hdnCurrentUserID» не существует.

Почему это происходит?

+0

Вы управляете своим динамическим динамическим режимом? или вы положили элемент управления на страницу? – sallushan

+0

<жерех: скрытый ID = Runat = "сервер" "hdnCurrentUserName" /> <жерех: ID = Runat = "сервер" скрытый "hdnCurrentUserID" /> это в приведенном выше коды – ytba92

+0

я спрашивал, где вы используете этот элемент 'ctrlChatBox', на некоторой странице aspx? как вы используете? Вы динамически создаете этот элемент управления на странице aspx? – sallushan

ответ

0

Элемент управления ascx имеет ссылку на страницу, в которой мы можем использовать.

this.Page 

Теперь нам нужно получить контроль с этой страницы. Поскольку мы знаем, что это имя, вы можете использовать FindControl

HiddenField Info = this.Page.FindControl("hdnfldIncDesc"); 
Смежные вопросы