我想在c#函数中使用javascript函数
protected void button1_Click(object sender,EventArgs e){
//javascript function call ex.
/*
boolean b=the return of:
<script type="text/javascript">
function update() {
var result = confirm("Do you want to delimit the record?")
if (result) {return true;}
else {
return false;
}
}
</script>
*/
}
我怎么能做这样的事情?我想当用户按下是的时候返回true,我知道他按了是...我能这样做吗?
答案 0 :(得分:4)
如果您尝试从asp.net 添加 JavaScript到您的网页,则可以使用ClientScript
类。
string script = "function update() { var result = confirm(\"Do you want to delimit the record?\") if (result) {return true; } else { return false; } }";
ClientScript.RegisterClientScriptBlock(this.GetType(), "someKey", script, false);
如果你试图从你的asp.net代码中调用(客户端)JavaScript函数,那么绝对不行。当页面发布和您的C#运行时,页面上的任何JavaScript都不再存在。
答案 1 :(得分:3)
你正在混合两种不同的技术。 C#在服务器上运行。它呈现一个HTML页面(可能包含Javascript)。然后将此页面发送到客户端的浏览器,最终执行Javascript。
在Javascript中,您可以提示用户删除记录或其他内容,然后您必须导航到另一个页面或使用AJAX将结果发送到服务器。
我建议您获得一本好的ASP.NET书籍。这将为你清除许多不确定因素。
答案 2 :(得分:1)
如果您将此邮件放在<asp:Button>
并带回发,只需将confirm
对话框添加到OnClientClick
属性,如下所示:
<asp:Button ID="Button1" runat="server"
OnClientClick="return confirm('Do you want to delimit the record?');" />
答案 3 :(得分:0)
如果您只是尝试创建让服务器知道单击按钮的功能,那么就会让事情变得复杂。如果你真的需要动态插入Javascript,那么Adam提到的值得研究。但我非常怀疑这是你正在尝试做的正确方法。
当您担心性能时,您应该只动态插入Javascript并且您需要发送大量内容。
如果动态插入Javascript(即延迟加载)不是您主要关心的问题,那么here就是一个非常简单的例子,说明了大多数人通常会采取的措施来实现您的目标。