Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.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# 如何将我的简单ASP.NET MVC 4应用程序转换为AJAX?_C#_Asp.net_Asp.net Mvc - Fatal编程技术网

C# 如何将我的简单ASP.NET MVC 4应用程序转换为AJAX?

C# 如何将我的简单ASP.NET MVC 4应用程序转换为AJAX?,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,如何将简单的MVC4 todo列表应用程序转换为AJAX 理想的答案是告诉我将这个示例成功转换为AJAX的步骤 注意:我不需要AJAX教程,只需要了解ASP.NETMVC体系结构是如何支持它的 附带问题:为什么@Html.EditorFor(model=>model.TodoItemToCreate)即使视图模型设置为this.TodoItemToCreate=null,也会返回键入的值 型号 public class TodosViewModel { List<string>

如何将简单的MVC4 todo列表应用程序转换为AJAX

理想的答案是告诉我将这个示例成功转换为AJAX的步骤

注意:我不需要AJAX教程,只需要了解ASP.NETMVC体系结构是如何支持它的

附带问题:为什么
@Html.EditorFor(model=>model.TodoItemToCreate)
即使视图模型设置为
this.TodoItemToCreate=null
,也会返回键入的值

型号

public class TodosViewModel
{
    List<string> todoItems;
    public List<string> TodoItems
    { 
        get { return this.todoItems ?? (todoItems = new List<string>()); } 
    }

    [Display(Name="What do you need to do?")]
    public string TodoItemToCreate { get; set; }

    public bool AcceptTodoItem()
    {
        bool isThereAnItemToAccept = !string.IsNullOrWhiteSpace(this.TodoItemToCreate);

        if (isThereAnItemToAccept)
        {
            this.TodoItems.Add(this.TodoItemToCreate);
            this.TodoItemToCreate = null;
        }

        return isThereAnItemToAccept;
    }
}
索引视图

@model Programming.LearnWeb.Models.TodosViewModel

@{
    ViewBag.Title = "Todos";
}

@using (Html.BeginForm("Create", "Todos"))
{
    @Html.Partial("List")    
    @Html.LabelFor(model => model.TodoItemToCreate)
    @Html.EditorFor(model => model.TodoItemToCreate)
    <input type="submit" value="Create" />
}

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}
@model Programming.LearnWeb.Models.TodosViewModel
    @{ int i = 0; }
<table>
    @foreach (var todoItem in Model.TodoItems)
    {
        <tr>
            <td>
                @Html.Hidden("TodoItems[" + i++ + "]", todoItem)
                @todoItem
            </td>
        </tr>
    }
</table>
@model Programming.LearnWeb.Models.TodosViewModel
@{
ViewBag.Title=“Todos”;
}
@使用(Html.BeginForm(“创建”、“Todos”))
{
@Html.Partial(“列表”)
@LabelFor(model=>model.TodoItemToCreate)
@EditorFor(model=>model.TodoItemToCreate)
}
@节脚本{
@Scripts.Render(“~/bundles/jqueryval”)
}
列表视图

@model Programming.LearnWeb.Models.TodosViewModel

@{
    ViewBag.Title = "Todos";
}

@using (Html.BeginForm("Create", "Todos"))
{
    @Html.Partial("List")    
    @Html.LabelFor(model => model.TodoItemToCreate)
    @Html.EditorFor(model => model.TodoItemToCreate)
    <input type="submit" value="Create" />
}

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}
@model Programming.LearnWeb.Models.TodosViewModel
    @{ int i = 0; }
<table>
    @foreach (var todoItem in Model.TodoItems)
    {
        <tr>
            <td>
                @Html.Hidden("TodoItems[" + i++ + "]", todoItem)
                @todoItem
            </td>
        </tr>
    }
</table>
@model Programming.LearnWeb.Models.TodosViewModel
@{int i=0;}
@foreach(Model.TodoItems中的var todoItem)
{
@Html.Hidden(“TodoItems[“+i++”]”,todoItem)
@今天
}

这是我自己完成的-结果是如果有人感兴趣或有任何评论

我付出了相当大的努力,如果有任何反馈表明我做得对,我将不胜感激