s yu Ответов: 2

Как скрыть HTML-строку из кода позади


Я попробовал установить HTML-строку из code-behind. Соответствующий код приведен ниже:
       --- HTML part ----
        <table id="tblFormNew" class="tblStyle"   >
	   ...
            <tr id="upload2"  runat="server" >
                <td class="style_1"></td>
                 <td colspan="3">
                    <asp:FileUpload ID="FileUpload2" runat="server" 

                        ToolTip="Navigate to the Data Source" Width="200px" 

                        onload="FileUpload2_Load" Enabled="False" />
                </td>
                <td >
                    <asp:Label ID="LabelFileName2" runat="server" Text="LabelFileName2" Visible="True" ForeColor="#0066FF" ></asp:Label>
                </td>  
                <td >
                    <asp:Label ID="LabelFileName2_" runat="server" Text="Uploaded: " Visible="False" ForeColor="#0066FF" ></asp:Label>
                </td>        
            </tr>
	   ...
        </table>

----Code behind---
upload2.Visible = false;     // Error: the name 'upload2' does not exist in the current context

Используемый здесь подход относится к посту Скрыть HTML-строку из кода за | The ASP.NET форумы[^Однако он показывает ошибку: не существует. Что не так с моим кодом? Спасибо.

Что я уже пробовал:

Ссылаясь на http://forums.asp.net/t/1381096.aspx-что?Скрыть+в+формате HTML+подряд+с+кодом+сзади, закодированный таким же образом, но получил ошибку

F-ES Sitecore

Нам может понадобиться больше контекста, ваш стол внутри ретранслятора или что-то в этом роде?

2 Ответов

Рейтинг:
2

Kornfeld Eliyahu Peter

В ASP.NET, когда вы устанавливаете свойство Visible в false, этот элемент вообще не будет отображаться клиенту (это какая-то запутанная "функция")!
Если вы хотите скрыть его только на стороне клиента, вам следует добавить немного CSS...

upload.Style.Add(HtmlTextWriterStyle.Display, "none");


Рейтинг:
2

Manas_Kumar

Вы можете использовать Page.FindControl() чтобы получить HTML-элемент управления на странице. Попробуйте ниже код:

HtmlControl controlObj = (HtmlControl)Page.FindControl("upload2");
if(controlObj != null)
{
	controlObj.Style.Add("display", "none");
}

HTML-код
<table id="tblFormNew" class="tblStyle">
	<tr id="upload2"  runat="server">
		<td class="style_1"></td>
		 <td colspan="3">
			<asp:fileupload id="FileUpload2" runat="server" xmlns:asp="#unknown">
				ToolTip="Navigate to the Data Source" Width="200px" 
				onload="FileUpload2_Load" Enabled="False" />
		</asp:fileupload></td>
	</tr>
</table>