mathieuxiaonew 2016-08-19 12:57 采纳率: 50%
浏览 1567
已结题

关于MVC中Html.TextBox的疑问

public class Student
{
public string Name { get; set; }
public string Id { get; set; }

public static List<Student> GetStudents()
{
    List<Student> stus = new List<Student>();
    stus.Add(new Student() { Id = "1", Name = "张三" });
    stus.Add(new Student() { Id = "2", Name = "李四" });

    return stus;
}

}

namespace BookShopUI.Controllers
{
public class TestController : Controller
{
public ActionResult Index()
{
return View("Index", Student.GetStudents());
}

    [HttpPost]
    public ActionResult Index(List<Student> students)
    {
        students.ForEach(s => s.Id = string.Format("{0}{0}", s.Id));
        return View("Index", students);
    }
}

}

<div>
    <% using (Html.BeginForm())
       { %>
    <% for (int i = 0; i < Model.Count; i++)
       { %>
    <br />
        <%= Html.TextBox("students[" + i + "].Id", Model[i].Id)%> : 
    <%= Html.TextBox("students[" + i + "].Name", Model[i].Name)%>
    <p></p>
    <%}
      %>
    <input type="submit" value="全部提交"/>
    <%
       } %>
</div>

    为了学习mvc的集合数据绑定,做个一个小例子。在第一次提交页面后,文本框中能够显示“1   张三”,修改为“11 张三”,提交。期待出现“1111 张三”的结果,但是页面却没有任何变化。
     如果这里不用Html.TextBox(),而是直接使用<input type="text" value ="<%= Model[i].Id %>" />的话,就能出现希望的“1111”,不知道是什么原因,求解释,谢谢!
  • 写回答

2条回答 默认 最新

  • devmiao 2016-08-19 16:09
    关注

    用Html.TextBoxFor()看看

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器