HTML 单击时无需单击即可触发代码
本文关键字:单击 代码 HTML | 更新日期: 2023-09-27 18:37:04
我的代码在没有单击它的情况下执行(这会导致空指针,因为它调用得太早了),这是我的代码:
网站.大师
<input type="submit" onclick="<%MvcApplication2.MvcApplication.hc.setLang("nl");%>" value="submit">
我对这种情况有 3 个问题
- 是介于 <% 之间的代码。%> 在编译时执行?
- 这甚至会起作用吗(将 <%%> 放入 onclick)?
- 有没有更好的方法来调用我的 C# 类中的方法?
提前感谢
是因为它执行的代码在 <% 之间..%> 在编译时?
没错。
代码中断在传递到客户端之前先呈现服务器端。
如果只想运行此onclick
input
,则可以使用 AJAX 对该方法进行服务器端调用。
正确 - 调用
页面时正在评估传递给onclick的值,因为它是服务器端代码 - 您需要
我会创建一个控制器方法,例如返回语言集
控制器:
public string setlanguage(string id){
//set your language
return "some string value";
}
控制器(带空)
public void setlanguage(string id){
//set your language
}
目录:
<input type="submit" onclick="setLanguage('nl');" value="submit">
<script type="text/javascript">
function setLanguage(lang)
$.post('@Url.Action("setlanguage","controllername")/' + lang,function(){
//no result has been returned
});
}
</script>
值得注意的是,如果您不返回值,那么对页面语言的任何更改都可能直到下次页面加载时才反映 - 最好使用完整回发
您应该将单击按钮时运行的代码放在函数中,然后将函数名称传递给 onclick 属性。
通过这种方式,您可以轻松知道您的代码是否正确。