Asp.net MVC,通过onclickJS事件从客户端调用C#方法
Asp.net MVC, calling C# method from client-side by onclick JS event
我得到了"MultiLanguageProvider",它是普通的C#类,而不是控制器或模型。这个想法是,当用户单击<a href="">Change language</a>
时,它必须在MultiLanguageProvider
实例上回调服务器端void ChangedLanguage()
。这根本不起作用:
<a href="" onclick="@{ MultiLanguageProvider.Instance.SwapLanguage(); }">@MultiLanguageProvider.Instance.SelectAppropriate("на русском", "in english")</a>
-'导致@{ }
中的所有代码在页面加载时立即执行。我没有被告知AJAX,所以也许你的某个人可以告诉我做这项简单工作的正确方向?
我不明白您试图在锚标记单击时调用哪一个。但是,如果我理解你的问题的本质,你正试图调用一些服务器端方法来更改语言,在这里我假设你想保存在用户界面(UI)上进行的语言选择。如果这就是你想要的,在客户端,你可以按照Stephen Muecke的建议进行更改。在服务器端,您需要在控制器上添加一个[HTTPOST]操作方法,类似于:
public ActionResult SwapLanguage(LanguageViewModel languageViewModel)
{
//do the save action => like saving to database
return Json(new { data = {urlToRedirt: "/someUrl_GeneratedVia_UrlHelper"},
status = "success",
message = "Language Changed Successfully" }, JsonRequestBehavior.AllowGet);
}
}
在客户端:
$('#swaplanguage).on('click', function(event) {
event.preventDefault();
$.post( '@Url.Action("SwapLanguage")', function( data ) {
// Handle the server side response here.
// Like if you want to redirect, use something like:
// window.location = data.urlToRedirt;
});
}
当然,您需要处理客户端和服务器端的错误情况。
如果您不想保存任何内容,只想根据用户选择的语言将用户重定向到某个url,那么您的onclick事件处理程序类似于:
$('#swaplanguage).on('click', function(event) {
urlToRedirect = 'url_to_redirect' + '/' + $('#languageDropDownId').val();
window.location = urlToRedirect;
}
最后,你的锚标签是:
<a id="swaplanguage">Change Language</a>
希望能有所帮助。
相关文章:
- 通过ajax从客户端调用C#方法来执行C#方法
- 如何从服务器向客户端调用函数?(远程功能调用)
- Asp.net MVC,通过onclickJS事件从客户端调用C#方法
- 当将从javascript客户端调用javaapi时,在javaapi中使用2d数组
- 如何在 Node.js 中从客户端调用服务器端函数(例如.html单击按钮)
- 在 MVC3 中从客户端调用服务器端函数
- HTTP GET位于客户端调用的api方法内部
- 从客户端调用Laravel验证
- jQuery函数,每10秒从客户端调用一次控制器方法mvc剃刀
- 某些语言的SignalR客户端调用失败
- 来自多个文件的Websocket客户端调用
- 流星HTTP.在客户端调用未定义,在服务器端工作
- 猫鼬方法findbyIdAndRemove在客户端调用时失败
- 从客户端调用服务器端函数
- 在asp.net中从客户端调用服务器端方法
- Meteor:通过客户端调用服务器端方法
- 如何使用Node/Express从客户端调用ajax get请求
- 如何从HTML客户端调用Websocket
- 可序列化对象排除从客户端调用我的公共属性
- ASP.当验证结束时,是否有一种方法可以在客户端调用函数?