我试图使用 HTML 按钮调用 ac# 类方法。在另一个主题中,人们建议我使用 AJAX。我查看了不同的教程并尝试实现它,但到目前为止它对我不起作用。
现在我只想让按钮给我一个弹出窗口(只是让我知道正在调用该方法)我要调用的方法是来自 HomeController 类的 setLang(string lang)
这就是我的 onclick 事件
<input type="submit" onclick="setLanguage();" value="submit">
这是脚本部分,我在同一页面中有这个
<script type="text/javascript">
function setLanguage() {
var lang = "en";
$.post('@Url.Action("setLang","HomeController")/' + lang,function(){
//i'm not expecting a result to process
});
}
</script>
但是当我点击我的按钮时没有任何反应。
我在这里错过了什么吗?
编辑:函数被调用,但回调不是
更新:仍然无法正常工作,这是我当前的代码(根据要求)
按钮 (index.aspx)
<input type="button" onclick="setLanguage();" value="submit">
函数(index.aspx)
<script type="text/javascript">
function setLanguage() {
alert("this message shows");
$.post('Url.Action("setLang","Home")/?lang=' + lang,
function (data) {
alert("this message does not");
});
}
</script>
在 HomeController.cs
public JsonResult setLang(string lang)
{
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(lang);
.....//a lot more code, until it reaches
return Json("Language: " + lang);
}