1

继续学习 Razor 和 Web 开发(我是 C# 桌面开发人员)。试图通过按下提交输入找到最简单的方法来调用具有指定参数的控制器上的操作,但没有 AJAX(是的,是的,页面重新加载)。有什么方法可以做到这一点?

4

2 回答 2

4

我认为这应该足够了:

控制器:

public class UserController : Controller
{
    public ViewResult Index()
    {
        return View();
    }

    public string SendData(string name, string address)
    {
        return string.Empty;
    }
}

剃刀:

@using (Html.BeginForm("SendData", "User"))
{
  @Html.TextBox("Name")    
  @Html.TextBox("Address")    

  <button type="submit">Send</button>
}

您还可以添加与已发布项目匹配的类:

public class User
{
    public string Name { get; set; }
    public string Address { get; set; }
}

然后将操作更改为:

public string SendData(User user)
{
    return string.Empty;
}

默认绑定器将绑定到用户中的相关属性。

于 2013-06-07T13:02:11.250 回答
0

您需要使用 HttpPost 来装饰您的操作:

[HttpPost]
Public ActionResult SendData(string name string address)

{ //使用你的参数

//重定向到另一个动作,因此刷新页面不会导致重新发布 Return RedirectToAction("Index"); }

**注意:此代码是在我的手机上编写的,未经测试,可能存在语法问题。

于 2013-06-07T13:18:32.540 回答