繁体   English   中英

asp.net是否会自动生成Javascript?

[英]Does asp.net auto generate Javascript?

如果我创建一个新的VS项目并将以下示例代码复制到新页面default.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="WebApplication1._default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
                <div id="top-menu" class="float-right">
                <ul class="main">
                    <li><a id="A1" href="#"  runat="server" class="current"><span>Home</span></a> </li>
                    <li><a href="#"><span>Members</span></a>
                        <ul class="sub curved">
                            <li><a href="#">MemberPage1</a></li>
                            <li><a href="#">MemberPage2</a></li>
                            <li><a href="#">MemberPage3</a></li>                           
                        </ul>
                    </li>
                    <li><a href="#"><span>Blog</span></a> </li>
                    <li><a href="#"><span>Contact</span></a>    </li>
                    <li><a href="#"><span>Admin</span></a>  </li>
                    <li><a href="#" runat="server" onserverclick ="Scan_Click"><span>Scan</span></a></li>
                </ul>
            </div>
    </div>
    </form>
</body>
</html>

当我运行时,当我将鼠标悬停在Scan- Javascript:_doPostBack('ctl02','')时,浏览器中会显示以下内容

在此处输入图片说明

作为ASP.NET的新手,这让我感到惊讶,因为我不知道自己在使用javascript,所以我希望这不是一个愚蠢的问题……

如果用户在浏览器中禁用了javascript(例如Tor最近建议),这是否意味着服务器端事件Scan_Click将不会运行?

如果是这样,是否有替代方法可以在asp.net站点上运行服务器端脚本,并在浏览器中禁用javascript?

ASP.NET将JavaScript用于回发功能,因此,如果不启用JavaScript,它将无法运行。

如果要在没有JavaScript的情况下运行应用程序,则必须移至ASP.NET MVC并使用常规的POST操作。

但是请注意,采用这种其他方法,您将不会拥有所有精美的控件(如日历,菜单甚至按钮),所有内容都是纯HTML。

如果用户在浏览器中禁用了javascript(例如Tor最近建议),这是否意味着服务器端事件Scan_Click将不会运行?

是的, runat="server"属性允许ASP.NET将您的onserverclick事件转换为可以通过JS调用的某些客户端代码-如果禁用了JS,则无法触发此代码。

如果是这样,是否有替代方法可以在asp.net站点上运行服务器端脚本,并在浏览器中禁用javascript?

您可以手动编写HTML输出,从而可以控制如何调用回发,从而可以确保您不依赖JS。 但是,您需要权衡没有启用JS的情况下网站正常运行的可能性,更不用说回发了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM