需要调用从视图返回String值的控制器方法
本文关键字:控制器 方法 String 返回 调用 视图 | 更新日期: 2023-09-27 18:20:15
我想调用一个从视图返回字符串值的控制器方法,例如,假设我有一个控制器方法public string Username(string email)
。我想在视图中调用这个方法,这样我就可以将返回值,即用户名分配给我的标签。
所以我有两个问题:-
- 如何在视图"public string Username(string email)"中调用此参数化控制器函数
- 并获取其返回值
如果您想显示它:
@{Html.RenderAction("Username", "ControllerName" , new {email="your email"});}
如果您想通过ajax调用它,请使用在ajax请求中'@Url.Action("Username", "ControllerName" , new {email="your email"})'
作为url
使用下面的代码,也在控制器操作方法上添加[HttpPost]属性
$.ajax({
// method: 'POST', <-- remove this
type: 'POST', // <-- add this
url: '@Url.Action("ActionName","ControllerName")',
dataType: 'json',
data: { id: 'Parameter' },
success: function (data, textStatus, jqXHR) {
//the data here is returned from your controller action method
console.log("success");
},
error: function () {
alert('error');
}
});
视图侧
@model String
<label>Model</label>
控制器侧
public ActionResult ReturnString()
{
var user=userName//Get user name
return View(user)
}
看看AJAX。如果您使用的是JQuery,那么这个任务可以通过ajax函数来完成。在您的情况下,javascript看起来像这样:
$.ajax({
url: '@Url.Action("Username")',
data: { email: "some@email.com" },
success: function (result) {
$('#YourLabel').val(result);
}
});