<%@ Page Language="C#" %>
<!DOCTYPE html>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
myTr.Visible = false;
mySpan.Visible = false;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<table runat="server">
<tr id="myTr">
<td>Hello</td>
<td><span id="mySpan">World</span></td>
</tr>
<tr>
<td>Hi</td>
<td>Bye</td>
</tr>
</table>
</form>
</body>
</html>
Wskazówka myTr
i mySpan
oba nie mają runat = server, ale tylko kompilator daje błąd na mySpan.Visible = false
.Dlaczego mogę uzyskać dostęp do elementu HTML bez uruchamiania programu runat = server od strony serwera?
Dlaczego nie błąd kompilatora raportu na myTr.Visible = false
?
Książka nie mówi, dlaczego możemy uzyskać dostęp do elementu bez runat = server, chyba że jestem ślepy. Czy możesz uczciwie wykorzystać tę część w swojej odpowiedzi? – Gqqnbig
@LoveRight Na stronie 136, podtytuł: Nagłówek tabeli (Th), Wiersz (Tr) i Szczegół (Td), mówi: Możesz także użyć kodu po stronie serwera do manipulowania znacznikami th, tr i td tabeli. Listing 8.9: Manipulowanie znacznikami Th, Tr i Td przy użyciu kodu po stronie serwera jest bardzo podobny do twojego. Zasadniczo tabela z runat = "server" oraz th, tr i td z atrybutami id only (nie runat = "server"), które są efektywnie dostępne z obsługi zdarzenia Page_Load na górze listy. Jeśli będziesz czytać dalej, zobaczysz wyjaśnienie dotyczące kontrolek serwera i sposobu, w jaki program ASP.NET dopasowuje je do elementów HTML. –