0

如何将从 radiobuttonfor 检索到的 id 传递给 MainPage 控制器 - 视图中的 Edit1 actionresult。任何帮助将不胜感激!谢谢!

//在for循环中查看显示内容和单选按钮

@foreach (var item in Model)
            {
                <tr>
                    <td>
                        @Html.DisplayFor(modelItem => item.SurveyTitle)
                    </td>
                    <td>
                        @Html.DisplayFor(modelItem => item.DateCreated)
                    </td>
                    <td>
                        @Html.DisplayFor(modelItem => item.DateClosing)
                    </td>
                    <td>
                        @Html.DisplayFor(modelItem => item.User)
                    </td>
                    <td>
                        @Html.RadioButtonFor(modelItem => item.SurveyId, new {id = item.SurveyId})
                    </td>
                </tr>
            }


          <button type="submit" class="btn btn-primary" id="edit">Edit</button>

//按钮的脚本来检测选择了哪个单选按钮id并提交

<script>            
        $('#edit').click(function () {

            var id = $('input[type=radio]:checked').val();
            alert(id);


        });

         </script>

//控制器获取id并取出surveyid

[HttpPost]
             public ActionResult Edit1(int id=0)
            {
                survey survey = db.surveys.Single(s => s.SurveyId == id);
                if (survey == null)
                {
                    return HttpNotFound();
                }
                return View(survey);
            }
4

3 回答 3

0

尝试这个:

http://api.jquery.com/jQuery.post/

或者将您的 id 放在某个隐藏的文本字段中并触发点击提交按钮(如果您的页面上有网络表单)

于 2012-10-26T13:39:49.997 回答
0

你说的这个提交按钮在哪里?是#edit吗?如果您想执行 POST 操作,您需要让它 POST 表单。此外,int id除非您将收音机更改为类似@Html.RadioButton("id", item.SurveyId)

于 2012-10-26T14:31:38.480 回答
0

当用户根据单选按钮列表设置的特定 ID 单击编辑时,您似乎正在尝试更改窗口的位置。

我认为您可以执行以下操作:

$('#edit').click(function () {

    var id = $('input[type=radio]:checked').val();
    window.location.href='/MainPage/Edit1/'+id;
    //window.location.href='/MainPage/Edit1/?id='+id; //if {controller}/{action}/{id} isn't setup in the routing class.

});
于 2012-10-26T13:55:39.543 回答