需要调用从视图返回String值的controller方法

时间:2014-09-01 11:28:59

标签: c# asp.net-mvc asp.net-mvc-4

我想调用一个从视图中返回字符串值的控制器方法,例如假设我有一个控制器方法public string Username(string email)。我想在视图中调用此方法,以便我可以将返回值,即用户名分配给我的标签。

所以我有两个问题: -

  1. 如何在视图“public string Username(string email)”中调用此参数化控制器函数。
  2. 并获得其回报值。

4 个答案:

答案 0 :(得分:5)

如果你想显示它:

@{Html.RenderAction("Username", "ControllerName" , new {email="your email"});} 

如果您想通过ajax调用它,请使用 {j}在您的ajax请求中作为网址

答案 1 :(得分:1)

使用以下代码,同时在控制器操作方法

之上添加[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');
 }
 });

答案 2 :(得分:0)

查看方

@model String
<label>Model</label>

控制器端

public ActionResult ReturnString()
{
var user=userName//Get user name
return View(user)
}

答案 3 :(得分:0)

看看AJAX。如果您使用的是JQuery,则可以使用ajax函数完成此任务。在你的情况下,javascript看起来像这样:

    $.ajax({
        url: '@Url.Action("Username")',
        data:  { email: "some@email.com" },
        success: function (result) {
                $('#YourLabel').val(result);
        }
    });