[英]Call C# method from javascript function
我需要从javascript调用c#方法。 我只需要单击javascript按钮即(btnclick())才能调用该方法。 但是Login方法在按钮的onclick之前执行。
aspx文件
<script type="text/javascript">
function btnclick()
{
<%=Login() %>; //calling the c# method
};
$(document).ready(function ()
{
$(".username").focus(function () {
$(".user-icon").css("left", "-48px");
});
</script>
<body>
//contains other elements like username and password text boxes
<input type="submit" id="submit" name="submit" value="Login" class="button" onclick="btnclick()"/>
</body>
aspx.cs文件
必须从javascript调用以下c#方法
protected void Login()
{
//contains method for authentication
}
还有其他方法可以从javascript调用c#方法。
您的问题暴露出您对网站工作原理的知识不足。 您根本无法执行C#函数形式的javascript代码,例如:
function btnclick()
{
<%=Login() %>; //calling the c# method
};
因为javascript在浏览器中运行,而C#在服务器上运行。 调用C#登录方法的原因是您的按钮已配置为提交表单,而我想该表单指向您的服务器。
您是否尝试过添加api控制器并将方法放入其中? 我真的很喜欢使用ProxyApi(就像添加NuGet一样简单),它会为您生成干净的javascript代理。 您将在几分钟之内启动并运行它:
像这样在javascript中调用您的C#方法:
$ .proxies.myapi.login(一些参数).done(函数(数据){//完成!});
您可以将c#方法定义为webmethod。
试试吧:
[WebMethod]
protected void Login()
{
//contains method for authentication
}
谢谢。
<script language="javascript" type="text/javascript">
function jsFunction()
{
document.getElementById('<%=lbSubmit.ClientID%>').click();
}
</script>
<asp:LinkButton ID="lbSubmit" runat="server" Text="Update Files"
onclick="cshapbottun_Click" ></asp:LinkButton>
C# code
protected void cshapbottun_Click(object sender, EventArgs e)
{
// DoSomething;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.