【问题标题】:MVC3 Razor Dynamic creating formsMVC3 Razor 动态创建表单
【发布时间】:2011-04-18 22:54:55
【问题描述】:

首先我想指出我对这个领域很陌生^_^。

无论如何

我正在做一个带有成绩报告系统的项目,现在我正在使用 cshtml 来更新 usertask。

我的问题是

我目前正在尝试添加表单帖子,但它根本不起作用。

在我看来,我有一个包含用户任务(和其他数据)列表的模型。这些 usertasks 包含 int id 和 string grade。

我想要做的是为每个用户任务创建一个带有他们自己的提交按钮的表单。 该表单将有一个隐藏的 id 字段和一个用于评分的文本框。

@Html.Hidden 我遇到的问题 编译器错误消息:CS1973:“System.Web.Mvc.HtmlHelper”没有名为“隐藏”的适用方法,但似乎具有该名称的扩展方法。扩展方法不能动态调度。考虑强制转换动态参数或调用扩展方法而不使用扩展方法语法。

我假设你不能动态使用 Html.Hidden(我在用户任务列表上使用 foreach 循环)。

有人知道如何解决这个问题吗?我一直在考虑创建局部视图,但不知道您是否可以将参数传递给它们。或者让提交按钮重定向到一个需要 2 个参数的控制器视图?

谁有例子?

谢谢帮助!

提交一些我一直在努力工作的代码。

foreach(tskgrpModel.usertasks 中的 var tskModel) { @tskModel.name 使用 (Html.BeginForm("Update", "Teacher", FormMethod.Post)) { 如果(tskModel.isSet == true) { @Html.Hidden("ut_id", tskModel.id ) @Html.TextBox("ut_grade",(string)@tskModel.grading); } 别的 { @Html.Hidden("ut_id", -1) @Html.Hidden("ut_id", "NotSet") } } }

【问题讨论】:

    标签: asp.net forms asp.net-mvc-3 razor


    【解决方案1】:

    taskModel.id 是动态变量吗?

    如果是的话,换行

    @Html.Hidden("ut_id", tskModel.id )
    

    @Html.Hidden("ut_id", (int) tskModel.id )
    

    【讨论】:

    • 我想我没有解释透彻。我想知道的是如何创建一个表单,其中包含来自 List 的字段,其中每个 usertask 都有一个字符串属性分级。当我提交时,我想以某种简单的方式知道我更改了哪些 UserTasks(它们具有唯一的 id)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-14
    • 2011-11-06
    • 2018-01-22
    • 2015-03-22
    • 2014-08-11
    • 2012-01-02
    • 1970-01-01
    相关资源
    最近更新 更多