【问题标题】:Access control in a number of tags from codebehind来自代码隐藏的多个标签的访问控制
【发布时间】:2013-09-07 04:26:48
【问题描述】:

我有这样的结构

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <asp:Login ID="LoginControl" runat="server" onauthenticate="LoginControl_Authenticate" >
        <LayoutTemplate>
            <table>
                <tr>
                    <td>
                        <asp:UploadFile ID="upFile"...
                    <td>
                        <asp:Button ID="LoginButton" onclick="LoginButton_Click"...

如何在代码隐藏中访问 FileUpload 控件? 如果没有而且很简单,例如upFile.FileName 但如果它在这个标签中,那就是错误:

The name 'upFile' does not exist in the current context

怎么改?

【问题讨论】:

  • 在哪种情况下您在代码隐藏中访问 upFile ?
  • protected void LoginButton_Click(object sender, EventArgs e)
  • 你在.aspx页面的代码后面,不是母版页的代码,对吧?

标签: c# asp.net code-behind asp.net-controls


【解决方案1】:

我不知道LayoutTemplate 是如何工作的,但你可以试试这个:

FileUpload upFile = (FileUpload)LoginControl.FindControl("upFile");

【讨论】:

  • 它可以工作...现在是 javascript 的问题 :) var upF = document.getElementById('');抛出异常
  • @Saint_pl - 可能是同一个想法,var upF = document.getElementById('&lt;%= ((FileUpload)LoginControl.FindControl("upFile")).ClientID %&gt;');
猜你喜欢
  • 1970-01-01
  • 2015-03-01
  • 2011-09-17
  • 2016-06-02
  • 2017-06-27
  • 1970-01-01
  • 1970-01-01
  • 2011-02-28
  • 1970-01-01
相关资源
最近更新 更多