需要将Web表单JavaScript转换为js文件

需要将Web表单JavaScript转换为js文件,javascript,c#,asp.net,vb.net,Javascript,C#,Asp.net,Vb.net,基本上,我的表单中嵌入了三个函数。我想将其移动到一个我已经拥有的js文件中。我以前这样做过,我的弹出窗口正在工作,但现在我想移动一个函数,该函数执行下载按钮的onclick事件,另外两个函数属于我的autocomplete extender,这样我就可以以我想要的方式显示结果 我一直在胡闹,但我似乎无法让它工作 这是我在Web表单中的JavaScript函数 function Download() { __doPostBack("<%= btnDownload.UniqueID %

基本上,我的表单中嵌入了三个函数。我想将其移动到一个我已经拥有的js文件中。我以前这样做过,我的弹出窗口正在工作,但现在我想移动一个函数,该函数执行下载按钮的onclick事件,另外两个函数属于我的autocomplete extender,这样我就可以以我想要的方式显示结果

我一直在胡闹,但我似乎无法让它工作

这是我在Web表单中的JavaScript函数

function Download() {
    __doPostBack("<%= btnDownload.UniqueID %>", "OnClick");
}
这就是我所说的

ClientScript.RegisterStartupScript(Me.GetType(), "download", "Download(" & btnDownload.ClientID & ");", True)
请有人给我一个线索,我错过了什么,在我忘记之前,是的,文件在我的标题

<script type="text/javascript" src="js/importBuyer.js"></script> 

javascript函数
\u doPostBack(“,“OnClick”)期望字符串作为按钮的客户端ID。因此,您需要按照如下方式构造ID参数为string的调用脚本:

ClientScript.RegisterStartupScript(Me.GetType(), "download", "Download(""" & btnDownload.ClientID & """);", True)
请注意上面的双引号(
“”
),以便呈现的javascript如下所示:

Download("btnDownloadID");

从您发布的示例来看,网络表单方式似乎是发送UniqueID,而您发送的是ClientID 因此,您可能只需要发送UniqueID属性即可

我想知道你为什么要那样做。我希望您从webforms转移到基于API的后端,但我不明白为什么您希望在保留webforms后端的同时分离js集成部分-如果您分离js逻辑部分,我会理解。。。不是与webforms通信的部分

希望有帮助


下面是一个描述差异的示例

你确定它是“OnClick”而不是“OnClick”吗?老实说,我不知道,但它在带有OnClick的webform中起作用。我不确定webform,但你能尝试使用“OnClick”吗在js文件中?我尝试过在js文件中使用onclick而不是onclick,但它仍然没有在这里作为一个健全性检查来执行:这里提供的代码执行以下操作:
RegisterStartupScript
,在服务器上,将页面加载到客户端时要调用的函数排队。该函数,
Download
,然后在客户端上调用
\uuudopostback
,该函数向服务器发回一条消息,以在服务器上运行Click事件的事件处理程序。您可以在调用RegisterStartupScript的地方,直接调用事件处理程序并保存到客户端的往返过程……您好,非常感谢,我已经看了很久了,没有看到我缺少引号。
Download("btnDownloadID");