1

我正在处理 Microsoft MVC3 项目,无法将已编辑的参数传递给控制器​​。它只会传回原始设置参数例如:

@Ajax.ActionLink("share file", InviteController.Actions.Result, InviteController.Name, new { message = Model.Message }, new AjaxOptions
            {
                HttpMethod = "GET",
                UpdateTargetId = "popup",
                OnSuccess = "$('#popup').dialog('open')"
            }, new { id = "popup-button" })

<label>Personal Message <span class="optional-message">(optional)</span></label>
@Html.TextAreaFor(x => x.Message)
</div>

这会将 传递给以下控制器,但 'message' 参数具有原始消息而不是更新消息:

 public ActionResult Result(FormCollection coll, string message)
    {

如果有人能给我一些建议,我会很高兴。非常感谢

4

1 回答 1

1

改用表格:

@using (Ajax.BeginForm(
    InviteController.Actions.Result, 
    InviteController.Name, 
    null,
    new AjaxOptions
    {
        HttpMethod = "GET",
        UpdateTargetId = "popup",
        OnSuccess = "$('#popup').dialog('open')"
    }, 
    new { id = "popup-button" }))
{
    <label for="Message">
        Personal Message 
        <span class="optional-message">(optional)</span>
    </label>
    @Html.TextAreaFor(x => x.Message)
    <button type="sybmit">share file</button>
}

并且不要忘记 HTML 表单不能嵌套。所以如果你有一个外部形式,这将不起作用。

于 2012-09-18T09:38:39.120 回答