【问题标题】:Trouble getting Data from a form to the model MVC无法从表单获取数据到模型 MVC
【发布时间】:2017-02-07 06:00:34
【问题描述】:

我的代码:

@using (Html.BeginForm())
{
    @Html.TextBoxFor(Model => Model.strlist)
    <input type="submit" value="Send" />
}

我的模型中的代码:

public class CommentClass
{
    public ArrayList strlist = new ArrayList();
}

来自我的控制器的代码:

[HttpPost]
public ActionResult SendChat()
{
    return View("~/Views/Room/Chat.cshtml");
}

我已经查看过,但找不到任何简单的方法来说明如何从表单上的文本框中获取数据以填充列表。 任何帮助将不胜感激。

【问题讨论】:

  • 那么,你把一个数组列表放到一个文本框中了吗?一开始很奇怪,但没关系。然后,您发布表单,但您的操作方法不接受任何参数,因此它会忽略发送给它的任何数据。您必须像这样定义它:public ActionResult SendChat(MyModel model) { 其中 MyModel 与您视图中的模型是同一个类。我认为,学习最基本的 MVC 教程会向您展示如何做到这一点。
  • 我对 MVC 很陌生,所以请谨慎对待。但是当您在尝试提交数据后尝试 POST 时,看起来您并没有向控制器发送任何值在您的视图中。您不应该将您的值发送到SendChat(),将其添加到您的模型中,然后重新加载页面吗?
  • 您需要访问 MVC 站点并完成教程或给自己买一本好书。 - strlistArrayList,您不能将文本框绑定到复杂对象或集合(仅绑定到简单属性)。它也是一个字段,而不是属性,您不能绑定到字段。

标签: c# html asp.net-mvc forms


【解决方案1】:

警告,这只是一些 sudoCode

根据我和 Adyson 的 cmets,您需要执行以下操作:

[HttpPost]
public ActionResult SendChat(CommentClass comment) 
{
    comment.strList.Add( <insert your new comment here> );
    return View("~/Views/Room/Chat.cshtml");
}

【讨论】:

    猜你喜欢
    • 2023-03-28
    • 1970-01-01
    • 2013-12-26
    • 2018-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多