1

我用它来覆盖框架生成的 id
@Html.EditorFor(model => model.cost, new { id = "checkCost" })
但不幸的是 id 没有改变。即,
当我
string d = Request.Form["checkCost"];
在控制器操作中使用时,字符串填充为空值。
为什么??我也用 TextBoxFor 替换了 EditorFor 但没有任何改变然后控制器也将成本作为 ID

<td >
        @Html.DropDownList("check_master", "--select package--")
    </td>
    <td >
        @Html.EditorFor(model => model.check_name)
        @Html.ValidationMessageFor(model => model.check_name)
    </td>
    <td >
        @Html.EditorFor(model => model.cost, new { id ="checkCost" })
        @Html.ValidationMessageFor(model => model.cost)
    </td>



更新:

  • 这是我的部分视图,我的主视图(从 ajax.actionLink 渲染部分)也持有 EditorFor(model=>mode.cost)
  • 部分视图强类型为 Check_master 表,主视图强类型为 package_master,其中两个 entitySet 都持有相同的名称属性,即“COST”其次,部分视图和主视图都持有 EditorFor“成本”

    我试图更改 check_master 属性的名称,如
  • [列(“check_cost”)]

公共可空成本{得到; 放;
但不知道为什么这不起作用,即属性 naem 在引用它时没有改变

model.something 
4

2 回答 2

0

创建 2 个具有属性 CheckCost 和 PackageCost 的视图模型,这样就有一个分离:

public class CheckViewModel{
   public string CheckCost{get;set;}
}

public class PackageViewModel{
   public string PackageCost{get;set;}
}

这样可以避免冲突。

于 2011-12-21T11:21:56.073 回答
0

要具体回答所提出的问题,请尝试以下操作:

@Html.EditorFor(model => model.cost, new { @id = "checkCost" })

请注意细微(但重要)的区别: ... new { @id = "checkCost" })

于 2016-12-07T03:40:02.347 回答