正确 - 调用页面时正在评估传递给 onclick 的值,因为它是服务器端代码 - 您需要
例如,我将创建一个返回设置语言的控制器方法
控制器:
public string setlanguage(string id){
//set your language
return "some string value";
}
控制器(带无效)
public void setlanguage(string id){
//set your language
}
html:
<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>
值得注意的是,如果您没有返回值,那么页面语言的任何更改都可能在下次页面加载之前不会反映出来 - 使用完整的回发可能会更好