gpt4 book ai didi

c# - 第一次使用 AJAX,示例不适合我

转载 作者:太空宇宙 更新时间:2023-11-03 21:59:04 26 4
gpt4 key购买 nike

我试图使用 HTML 按钮调用 c# 类方法。在另一个主题中,人们建议我使用 AJAX。我查看了不同的教程并尝试实现它,但到目前为止它对我不起作用。

现在我只想让按钮给我一个弹出窗口(这样我就知道正在调用该方法)我想调用的方法是 HomeController 类中的 setLang(string lang)

这就是我的点击事件

<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);
}

最佳答案

将以下内容添加到 HomeController 的索引 View 中:

<input type="button" onclick="setLanguage();" value="submit">

<script type="text/javascript">
function setLanguage() {
var lang = "en";
$.post('@Url.Action("setLang","Home")/?lang=' + lang,
function (data) {
alert(data);
});
}
</script>

与您的代码相比,我做了一些更改:

  • 输入类型=按钮
  • Controller 名称应该是“Home”,而不是“HomeController”。 ASP.NET MVC 默认添加“ Controller ”部分
  • 您的成功函数采用数据参数并在客户端计算机上执行 javascript 警报。
  • 因为您没有为此特定方法设置路由,所以我已将 lang 参数更改为您的查询字符串的一部分。

然后在服务器上将以下操作方法添加到您的 HomeController

public JsonResult setLang(string lang)
{
return Json("Language: " + lang);
}

该函数接受您的 lang 参数,然后返回一个仅包含简单字符串值的 JsonResult。 Json 是在浏览器和服务器之间发送数据的首选方式。

您可以扩展此示例并向您的浏览器返回更复杂的数据。

关于c# - 第一次使用 AJAX,示例不适合我,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11014027/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com