1

在 default.aspx 我有:

 <form id="form1" runat="server">
    <div>
    <asp:Button ID="clikme" runat="server" Text="click me" />    
    </div>
    </form>

在 default.aspx 我有:

clikme.Attributes.Add("OnClick", "javaScript: return myfunction();");

在 JScript1.js 我有

function myFunction() {
    alert('this is my function');
    return false;
}

上面的代码不起作用,它显示“Microsoft JScript 运行时错误:预期对象”。我不知道如何找到解决方案。

4

6 回答 6

1

您调用的函数名称错误,myfunction() 应该是 myFunction(),因为 javascript 区分大小写。还要确保将 包含JScript1.js在当前的 aspx 文件中。您可以阅读此MSDN 文章以了解如何包含 js 文件。

clikme.Attributes.Add("OnClick", "javaScript: return myFunction();");

包含 js 文件

<script type="text/javascript" src="yourDirectorIfAny/JScript1.js" ></script>
于 2013-09-02T06:52:44.523 回答
0

试试这个添加

script type='text/javascript' language="javascript" 到您的 js 部分并将您的函数放入其中..

于 2013-09-02T06:56:23.413 回答
0

尝试

clikme.Attributes.Add("OnClientClick", "javaScript: return myFunction();");
于 2013-09-02T06:57:38.677 回答
0

最好的方法是按照 Adil 的建议在 Aspx 页面本身上提供 javascript 文件的参考。如果你想在后面的代码中注册一些 javascript 方法,那么你可以看看这个例子。

http://msdn.microsoft.com/en-us/library/system.web.ui.page.registerclientscriptblock.aspx

于 2013-09-02T06:59:35.830 回答
0

JScript 是区分大小写的语言。

clikme.Attributes.Add("OnClick", "javaScript: return myfunction();");
function myFunction() {
...
}

检查上面的行。myFunction 函数必须相等。

于 2013-09-02T07:13:27.793 回答
0
Something like below will helpfull.. 

string script = "myFunction();";
AjaxControlToolkit.ToolkitScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alert", script, true);             
于 2013-09-02T07:19:55.147 回答