【问题标题】:can i bind cell values of an html table to a data object to pass to an asp.net mvc controller我可以将 html 表的单元格值绑定到数据对象以传递给 asp.net mvc 控制器吗
【发布时间】:2009-12-10 23:40:14
【问题描述】:

我有一个要提交给我的控制器的表单。我创建了一个数据类,用于传递给我的控制器以执行以下操作:

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Update(ApplicationUpdater applicationUpdater_)
    {
    }

问题是我曾经在多选下拉列表中有一个列表,并且该列表简单映射到我的绑定数据对象中的字符串数组。

public class ApplicationUpdater
{
    public string[] dependencies { get; set; }
}

现在的问题是我必须存储更多属性,所以我将下拉列表更改为动态生成的 html 表(表是使用 jquery 生成的)

所以我有一张桌子

<table border=1>
    <tr><td>Joe</td><td>Thompson</td></tr>
    <tr><td>Billy</td><td>Williams</td></tr>
</table>

我想将这些值转换为 Name objects 数组,其中第一列为 Name.First,第二列为 Name.Last

所以理论上我可以让我的绑定对象是这样的。

public class ApplicationUpdater
{
    public Name[] dependencies { get; set; }
}

【问题讨论】:

    标签: jquery asp.net-mvc data-binding forms


    【解决方案1】:

    一个选项是设置一些隐藏的输入字段,例如:

    <table border=1>
        <tr>
            <td>
                Joe <input  TYPE="hidden" VALUE="Joe" NAME="applicationUpdater.Name[0].First">
             </td>
             <td>
                Thompson <input  TYPE="hidden" VALUE="Thompson" NAME="applicationUpdater.Name[0].Last">
             </td>
       </tr>
        <tr>
            <td>
                Billy <input  TYPE="hidden" VALUE="Billy" NAME="applicationUpdater.Name[1].First">
             </td>
             <td>
                William <input  TYPE="hidden" VALUE="William" NAME="applicationUpdater.Name[1].Last">
             </td>
       </tr>
    
    </table>
    

    您需要设置此隐藏字段,因此当用户发布表单时,值会从此隐藏字段绑定,因为 td 不打算在表单中发布。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-17
      • 2011-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多