Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从网站获取输入并将其添加到C#列表_C#_Html_Asp.net Mvc - Fatal编程技术网

从网站获取输入并将其添加到C#列表

从网站获取输入并将其添加到C#列表,c#,html,asp.net-mvc,C#,Html,Asp.net Mvc,因此,我目前正在学习ASP.NETMVC来完成我的工作,我只是在玩它来学习一些东西。目前,我有一个网页,上面有一个C#code(模拟数据库)的硬编码列表,还有一个Create按钮,可以打开菜单,让我为一个新人添加信息,然后单击底部的Create按钮进行添加。但是,“创建”按钮当前不起作用。我如何创建一个方法来获取该输入并将其添加到列表中,以及该方法应该放在哪里?人事管理员?个人模型?谢谢你的帮助 namespace ASPpractice.Controllers {

因此,我目前正在学习ASP.NETMVC来完成我的工作,我只是在玩它来学习一些东西。目前,我有一个网页,上面有一个C#code(模拟数据库)的硬编码列表,还有一个Create按钮,可以打开菜单,让我为一个新人添加信息,然后单击底部的Create按钮进行添加。但是,“创建”按钮当前不起作用。我如何创建一个方法来获取该输入并将其添加到列表中,以及该方法应该放在哪里?人事管理员?个人模型?谢谢你的帮助

    namespace ASPpractice.Controllers
    {
        public class PersonController : Controller
        {

    List<PersonModel> people = new List<PersonModel>();

    // GET: Person
    public ActionResult Index()
    {
        return View();
    }

    public ActionResult Person()
    {


        people.Add(new PersonModel {Age = 76, Name = "Rick", Title = "Drunk Mad Scientist"});
        people.Add(new PersonModel {Age = 13, Name = "Morty", Title = "Tool of a Grandson"});
        people.Add(new PersonModel {Age = 35, Name = "Jerry", Title = "Unemployed Dumbass Father"});

        return View(people);
    }

    public ActionResult Create()
    {
        return View();
    }
}
}

@model ASPpractice.Models.PersonModel
@{
ViewBag.Title=“创建”;
}
创造
@使用(Html.BeginForm())
{
@Html.AntiForgeryToken()
个人模型

@Html.ValidationSummary(true,“,new{@class=“text danger”}) @LabelFor(model=>model.Name,htmlAttributes:new{@class=“controllabel col-md-2”}) @EditorFor(model=>model.Name,new{htmlAttributes=new{@class=“form control”}) @Html.ValidationMessageFor(model=>model.Name,“,new{@class=“text danger”}) @LabelFor(model=>model.Title,htmlAttributes:new{@class=“controllabel col-md-2”}) @EditorFor(model=>model.Title,new{htmlAttributes=new{@class=“form control”}) @Html.ValidationMessageFor(model=>model.Title,“,new{@class=“text danger”}) @LabelFor(model=>model.Age,htmlAttributes:new{@class=“controllabel col-md-2”}) @EditorFor(model=>model.Age,new{htmlAttributes=new{@class=“form control”}) @Html.ValidationMessageFor(model=>model.Age,“,new{@class=“text danger”})
}


@ActionLink(“返回列表”、“个人”)
@节脚本{
@Scripts.Render(“~/bundles/jqueryval”)
}

您需要做的是在Controller中调用一个方法,该方法将填充列表。 乍一看,您的编辑器应该很好,并正确填充您的模型

使用

将调用您的ActionMethod,您应该在其中接受PersonModel

在这里,您可以对提交的模型执行所需的操作。(即将其添加到db表、post、保存或显示)


希望这有帮助。

您需要做的是在Controller中调用一个方法,该方法将填充列表。 乍一看,您的编辑器应该很好,并正确填充您的模型

使用

将调用您的ActionMethod,您应该在其中接受PersonModel

在这里,您可以对提交的模型执行所需的操作。(即将其添加到db表、post、保存或显示)


希望这有帮助。

网站是基于请求的。。。。因此,您要将其添加到的列表不能存在于控制器中,因为每次请求控制器中的操作时都会创建控制器。

这实际上每次都会重置您的列表


您需要创建一个可以从任何地方访问的静态列表……

网站是基于请求的。。。。因此,您要将其添加到的列表不能存在于控制器中,因为每次请求控制器中的操作时都会创建控制器。

这实际上每次都会重置您的列表


您需要创建一个可以从任何地方访问的静态列表……

听起来您的学习体验可以从ASP.NET MVC的一些教程中受益匪浅。例如:实际上,您可能有两个
Create
操作。一个将显示一个视图,供用户填写值以创建对象,另一个将接受这些值的表单post并将新创建的对象保存到数据库中。保存后,您会将用户重定向回索引/列表视图,以再次查看所有对象。啊,看起来本教程可能正是我需要的。我通读了msdn上关于mvc模型的几个文档,但不知怎么的,我没有看到这一个。谢谢。听起来你的学习经验可以从ASP.NET MVC的一些教程中受益匪浅。例如:实际上,您可能有两个
Create
操作。一个将显示一个视图,供用户填写值以创建对象,另一个将接受这些值的表单post并将新创建的对象保存到数据库中。保存后,您会将用户重定向回索引/列表视图,以再次查看所有对象。啊,看起来本教程可能正是我需要的。我通读了msdn上关于mvc模型的几个文档,但不知怎么的,我没有看到这一个。谢谢。这不起作用,尽管当我填写新人信息时,文本I不会在我单击“创建”按钮时消失。它只是停留在那里。但是当我返回列表页面时,它不会显示新名称;更接近…它添加了它,但它也添加了列表中其他每个项目的副本。我不明白为什么它是静态的会改变这样的行为?原因是控制器是一个对象,每当一个请求到达它的一个动作方法时,就会创建该控制器的一个新实例,尽管在我填写新人信息时,文本I在我单击“创建”按钮时不会消失。它只是停留在那里。但是当我返回列表页面时,它不会显示新名称;更接近…它添加了它,但它也添加了列表中其他每个项目的副本。我不明白为什么它是静态的会改变这样的行为?原因是控制器是一个对象,每当一个请求到达一个控制器时
    namespace ASPpractice.Models
    {
        public class PersonModel
       {
    private string _Name;
    private string _Title;
    private int _Age;

    public string Name { get { return _Name; } set { this._Name = value; }}
    public string Title { get { return _Title; } set { this._Title = value; } }
    public int Age { get { return _Age; } set { this._Age = value; } }

}
@model ASPpractice.Models.PersonModel

@{
    ViewBag.Title = "Create";
 }

 <h2>Create</h2>


@using (Html.BeginForm()) 
{
@Html.AntiForgeryToken()

<div class="form-horizontal">
    <h4>PersonModel</h4>
    <hr />
    @Html.ValidationSummary(true, "", new { @class = "text-danger" })
    <div class="form-group">
        @Html.LabelFor(model => model.Name, htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } })
            @Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger" })
        </div>
    </div>

    <div class="form-group">
        @Html.LabelFor(model => model.Title, htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.EditorFor(model => model.Title, new { htmlAttributes = new { @class = "form-control" } })
            @Html.ValidationMessageFor(model => model.Title, "", new { @class = "text-danger" })
        </div>
    </div>

    <div class="form-group">
        @Html.LabelFor(model => model.Age, htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.EditorFor(model => model.Age, new { htmlAttributes = new { @class = "form-control" } })
            @Html.ValidationMessageFor(model => model.Age, "", new { @class = "text-danger" })
        </div>
    </div>

    <div class="form-group">
        <div class="col-md-offset-2 col-md-10">
            <input type="submit" value="Create" class="btn btn-default" />
        </div>
    </div>
</div>
<div>
    @Html.ActionLink("Back to List", "Person")
</div>

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}
public ActionResult Create(){}
[HttpPost]
public ActionResult Create(PersonModel model)
{
    people.Add(new PersonModel {Age = model.Age, Name = model.Name, Title =model.Title});
    return View();
}
@using (Html.BeginForm("ActionMethod","Controller",FormMethod.Post))
public ActionResult ActionMethod(PerosnModel vm)...