Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在asp.net中输出原始javascript_Javascript_.net_Asp.net - Fatal编程技术网

如何在asp.net中输出原始javascript

如何在asp.net中输出原始javascript,javascript,.net,asp.net,Javascript,.net,Asp.net,我想将原始javascript输出到aspx响应。使用response.write失败,因为它与javascript一起转储页面中的所有其他asp.net内容,例如: ... <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTAxODk4MjA3OWRk9jVlI2KaQPiVjEC+P0OPYGV74vKjJQZuwD6OaHhb+U0=" /> ... 。。。 ... 是否可以简

我想将原始javascript输出到aspx响应。使用response.write失败,因为它与javascript一起转储页面中的所有其他asp.net内容,例如:

...
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTAxODk4MjA3OWRk9jVlI2KaQPiVjEC+P0OPYGV74vKjJQZuwD6OaHhb+U0=" />
...
。。。
...
是否可以简单地将原始文本输出到输出,而不在页面上显示所有其他asp.net内容?我尝试使用以下页面:

<script src="mypage.aspx"></script> 

当这个页面包含javascript时,它会触发aspx页面,但是chrome不喜欢它,原因很明显。。。它需要javascript,但它得到的是javascript+标记+.NET注入的东西


请不要评论我为什么这样做!处理非常具体的问题

使用.ashx。然后您可以设置
context.Response.ContentType=“text/javascript”
并只使用
Response.Write

使用WebForms将非常困难。我能想到的最好的方法是将MVC添加到您的项目中,这样您就可以更好地控制输出。(是的,MVC和WebForms可以在同一个项目中共存)


通过这种方式,您仍然可以利用
.aspx
语法(或者更酷的Razor语法)生成javascript文件,而无需WebForms将其所有恼人的内容添加到您的输出中。

我不确定是否理解您的问题,但您可以尝试以下方法:

Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "registerSomething", "doSomething = function(){ ... }", true);

您还可以禁用viewstate等。。。并从aspx文件中删除所有内容

<%@Page ... EnableViewState="false" EnableViewStateMac="false"%>


在aspx文件中不包括任何其他内容,不包含runat=server任何内容。然后使用response.write在代码隐藏中编写javascript。

我需要这个,这就是我的解决方案:

创建了一个文件script.aspx,内容是带有页面标题指令的纯javascript。然后在javascript中,我能够插入对静态方法的调用:

<%@ Page Language="C#" ContentType="text/javascript" %>

function someFunction()
{
    var someVar;

    someVar="<%= MyClass.MyMethod() %>";
}

通用处理程序用于这些情况。首选ashx,如果必须使用aspx,还可以调用Response.Clear()。非常感谢。。。这很有效。然而,我有javascript在我的ashx上调用webmethods,它不太管用,但是弹出窗口工作没有问题。。。还需要解决一些细节…没问题,很高兴能帮上忙!请阅读:我同意上面乔伊的观点:ASHX是做你想做的事情最普遍/最被接受的方式。但是,如果出于某种原因需要在ASPX页面中执行此操作,此答案(来自aepheus)应该会有所帮助。
function someFunction()
{
    var someVar;

    someVar="Some string returned by my method";
}