为什么 Asp.net 标签在浏览器上不可见?

Why Asp.net tags are not visible on browser?

html 标签在浏览器中显示成功。但是Asp.net的radio button, button等标签在浏览器中是看不到的。没有以

Index.cshtml 代码:

@{
    ViewBag.Title = "Home Page";
}
<select name="action:selectAdiSoyadi">
    <option>kişi1</option>
    <option>kişi2</option>
    <option>kişi3</option>
</select>

<br />


<asp:RadioButtonList runat="server">

    <asp:RadioButton runat="server" name="radioBtnGiris"></asp:RadioButton>GİRİŞ
    <asp:RadioButton runat="server" name="radioBtnCikis"></asp:RadioButton>ÇIKIŞ

    @*<input id="Radio1" type="radio" style="width:50px; height:50px;"/>*@

</asp:RadioButtonList>


<br />
<br />

<button type="button" class="btn btn-primary">KAYDET</button>

试试这个?

<asp:RadioButtonList runat="server">
    <asp:ListItem>Item 1</asp:ListItem>
    <asp:ListItem>Item 2</asp:ListItem>
</asp:RadioButtonList>
<asp:RadioButton runat="server" name="radioBtnGiris" Text="GİRİŞ" />
<asp:RadioButton runat="server" name="radioBtnCikis" Text="ÇIKIŞ" />

您可以改用这个:

<input type="radio" value="value1" id="radio1" name="radioBtnGiris" />Giriş
<br />
<input type="radio" value="value2" id="radio2" name="radioBtnCikis" />Çıkış
<br />

.net 框架就是这样设计的。

您 phone 或 Chrome 或 FireFox 浏览器上的浏览器与 Microsoft 的关系为零。

那么,您在设计模式中放入标记中的所有 .net 内容?

没关系。会发生什么是你的网络代码和你的 asp.net 标记是 pre-processed 由 IIS(网络服务器)和 .net 代码发送到客户端浏览器之前。

浏览器没有 GridView 或 RadioButtonList 标签,并且对 asp.net 的线索为零。浏览器只能使用标准 HTML.

因此,.net 框架采用这些标签,并将它们 pre-processes 转化为标准 HTML 标签,这些标签可以在任何浏览器上运行——即使是那些不了解 Microsoft 和 .net 的浏览器框架工作。

因此,所有和任何 asp.net“标签”实际上都转换为平面简 HTML。

所以,如果你顺便来,请说:

 <asp:GridView ID="GridView1" runat="server">
 </asp:GridView>

好吧,我们可以去看看有关 HTML 的书吗?您没有看到 HTML 有 GridView。它不存在。

那么,当使用任何浏览器(即使是那些不了解或不关心 .net 的浏览器)时,上述内容会变成浏览器端吗?

以上是 pre-processed 标准 HTML 标记(table 标记)。

你的代码在 运行s 之后,比如加载 GridView。 然后 HTML 被发送到客户端浏览器端。

您现在在浏览器中看到这个:

或者,HTML 标记现在是这样的:

<table cellspacing="0" rules="all" border="1" id="GridView1" style="border-collapse:collapse;">
    <tr>
        <th scope="col">ID</th><th scope="col">HotelName</th>
    </tr><tr>
        <td>19</td><td>My Cool</td>
    </tr><tr>
        <td>23</td><td>Ramada Lodge</td>
    </tr><tr>
        <td>24</td><td>RETAIL</td>
    </tr><tr>
        <td>26</td><td>Sandman Inn</td>
    </tr>
</table>

请注意客户端 HTML 如何从 .net 发送 100% 飞机简 HTML。

Gridview pre-processed 由 .net 系统开发,运行将您的 c# 或 vb.net 代码隐藏在后面,然后仅将那部分发送到浏览器。

如您所见,结果没有任何 asp.net 标签 - 它们永远不会访问客户端浏览器。

浏览器只能消费并且只允许平面简HTML。

因此,GridView 被转换成一种很好的旧时尚 HTML table,带有用于行等的标准 HTML 标签

再次注意: 一些苹果iPhone浏览器不关心微软,不了解微软和asp.net。 这样的浏览器只允许 plane jane 标准 HTML 标记。这样的浏览器只能使用 plane jane HTML,这是使用 asp.net.

时唯一发送到浏览器的东西

那么,Web 服务器、后台代码和 .net 框架?它 pre-processes asp.net 标记和那些 asp.net 标签,并将它们转换成平面简良好的老式 HTML 标签和代码。

所以,这就是您在客户端浏览器结果中看不到 asp.net 标记的原因。

您网页标记中的所有此类“标签”都是 pre-processed,并在发送到浏览器端之前转换为 HTML。

毕竟,您可以使用非 Microsoft 计算机,例如 smartphone,甚至 Linux 带有浏览器的台式计算机。

只要该浏览器可以使用和使用标准 HTML 5 个标签,那么它就会并且可以在访问 asp.net 网站时使用。

但是,虽然该网站是 运行宁说 vb.net,还是服务器上隐藏了 c# 代码?

没关系,因为只要 asp.net 标签的整个系统,以及用 c# 或 vb.net 编写的背后代码吐出 STANDARD HTML,那么你不在乎,这就是为什么以及如何任何计算机,甚至是没有 .net 的非 windows 计算机都可以使用此类网页。

所以所有原始网页和 mark-up 标签和代码都是 pre-processed 由网络系统提供的,以及您在 运行s 后面的代码?

然后飞机简HTML数据和页面发送到客户端浏览器。 NONE 特殊标签或 asp.net 甚至任何属于 Microsoft 和 .net 框架的东西都会被发送到浏览器端。

只有干净的、正常的、平面简 HTML 被发送到浏览器,因为那只是浏览器知道的,这样的浏览器与 asp.net、c# 和 vb.net代码,其实与微软无关。

只要那个复杂的框架和系统吐出 HTML,那么任何浏览器都可以使用结果。

因此,构建和设计的“源代码”或设置 运行 您的代码是 asp.net。

但是,它吐出和呈现的结果只是 HTML,然后可以在任何浏览器上工作——包括非 Microsoft 的浏览器。

因此所有“asp.net”标签都被删除,并转换为平面简标准HTML供任何浏览器使用。

因此,当您在浏览器端举例时,您会看到任何 aps.net 标签 HTML - 您只能看到平面简 HTML 标签。

这也是为什么您需要 运行 Microsoft Web 服务器才能正常工作的原因。而客户端浏览器可以是任何浏览器。使这项工作的服务器端必须是 运行ning Microsoft IIS(来自 Microsoft 的信息互联网服务)。

您不能仅使用浏览器访问这些页面您需要整个 .net 框架系统 运行 在网络服务器上处理 .net 代码,.net 标记到平面简网页,然后发送到浏览器端。