Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.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/0/xml/15.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
Asp.net mvc 带数组的MVC强类型viewdata_Asp.net Mvc_Viewdata - Fatal编程技术网

Asp.net mvc 带数组的MVC强类型viewdata

Asp.net mvc 带数组的MVC强类型viewdata,asp.net-mvc,viewdata,Asp.net Mvc,Viewdata,我有一个使用强类型ViewData的视图,类似于: namespace Site.web2.Models { public class MySubData { public string Note { get; set; } public bool IsValid { get; set; } } public class MyViewData { public int DataId { get; set;}

我有一个使用强类型ViewData的视图,类似于:

namespace Site.web2.Models
{
    public class MySubData
    {
        public string Note { get; set; }
        public bool IsValid { get; set; }
    }
    public class MyViewData
    {
        public int DataId { get; set;}
        public List<MySubData> SubData { get; set; }

        public MyViewData()
        {
        }

        public void LoadDummyData()
        {
            DataId = 42;
            SubData = new List<MySubData>();
            SubData.Add(new MySubData() { Note = "Item 1" });
            SubData.Add(new MySubData() { Note = "Item 2" });
        }
    }
}
视图是这样的:

<%@ Page Title="" Language="C#" MasterPageFile="~/Content/Site.Master"
     Inherits="System.Web.Mvc.ViewPage<Site.web2.Models.MyViewData>"
%>
<%= Html.BeginForm<HomeController>(c => c.Test1(null)) %>
<p>Id:</p>
<p><%= Html.TextBox("DataId")%></p>
<p>Note 1:</p>
<p><%= Html.TextBox("SubData[0].Note")%></p>
<p>Note 2:</p>
<p><%= Html.TextBox("SubData[1].Note")%></p>

<input type="submit" value="Submit" />
<% Html.EndForm(); %>

c、 Test1(null))%>
身份证:

注1:

注2:

好的,如果我创建一个MyViewData,调用LoadDummyData(),并在视图中使用它,那么在文本框中就看不到我的数据

有趣的是,如果我在文本框中输入数据,就会填充到Post控制器中返回的MyViewData中

我做错了什么?这在MVC的更高版本中得到了修复吗?我想我有RC 1

基思

更新1

这个


很好用。我想我的问题是,这个

<%= Html.TextBox("SubData[0].Note")%>

用同样的方法工作?

试试这个:

<p>Id:</p>
<p><%= Html.TextBox("DataId", Model.DataId)%></p>
<p>Note 1:</p>
<p><%= Html.TextBox("SubData[0].Note", Model.SubData[0].Note)%></p>
<p>Note 2:</p>
<p><%= Html.TextBox("SubData[1].Note", Model.SubData[1].Note)%></p>
Id:

注1:

注2:

试试这个:

<p>Id:</p>
<p><%= Html.TextBox("DataId", Model.DataId)%></p>
<p>Note 1:</p>
<p><%= Html.TextBox("SubData[0].Note", Model.SubData[0].Note)%></p>
<p>Note 2:</p>
<p><%= Html.TextBox("SubData[1].Note", Model.SubData[1].Note)%></p>
Id:

注1:

注2:

效果很好,因为我只是希望它能以同样的方式工作。我在MVC源代码中进行了调试,发现了故障,但我不太了解.NET,不知道它是否应该工作。它工作得很好,因为我只是希望它能以同样的方式工作。我在MVC源代码中进行了调试,发现了故障,但我对.NET的了解还不够透彻,不知道它是否应该工作。
<p>Id:</p>
<p><%= Html.TextBox("DataId", Model.DataId)%></p>
<p>Note 1:</p>
<p><%= Html.TextBox("SubData[0].Note", Model.SubData[0].Note)%></p>
<p>Note 2:</p>
<p><%= Html.TextBox("SubData[1].Note", Model.SubData[1].Note)%></p>