发表自JQUERY对话后的帖子?

时间:2013-02-06 02:12:06

标签: c# jquery asp.net-mvc jquery-ui asp.net-mvc-4

我在HtmlForm里面有两个按钮,它运行得很好,以区分我在actionName中传递按钮的名称。看下面:

    [HttpPost]
    public ActionResult Index(string button, QuizCompletedViewModel q)
    { // QuizCompletedViewModel is the model of my razor view
         ...            
    }


@using (Html.BeginForm("Index", "Quiz", FormMethod.Post, new { id = "form" }))
{
<div>
    <!-- Old code using two buttons for post  -->
    <div class="float-right">
@*        <input name="button" type="submit" value="save" />
        <input name="button" type="submit" value="done" />*@
        <input name="button" type="button" value="done" />
    </div>

    <div id="dialog-form">
        <input name="button" type="button" value="Cancel" />
        <input name="button" type="submit" value="Save" />
        <input name="button" type="submit" value="Done" />
    </div>
</div>


<div id="question-container">
@for (int i = 0; i < Model.Questions.Count; i++) {
    ...
}
</div>
}

然后我需要更改当前视图的两个按钮,并在上面显示带有这两个按钮的弹出按钮(id="dialog-form")。当用户按下按钮并像旧代码一样执行POST时,使用JQuery对我来说有点困难。

你可以伸出援手吗?

1 个答案:

答案 0 :(得分:1)

我认为这可能对你有所帮助,你必须根据自己的需要进行调整,Jquery Dialog在我的代码示例中显示一个Continue按钮并将函数绑定到它,你可以替换Asp.net Webforms __doPostBack有一些会导致你的MVC页面回发的内容。

 $("#dialog").dialog({
                        autoOpen: false,
                        height: 380,
                        width: 650,
                        modal: true,
                        close: function () {
                            $('#btnCreateAccount').button('refresh');
                        },
                        buttons: {
                            'Continue': function () {
                                $(this).dialog('close');
                                __doPostBack($("#<%=btnCreateAccount.ClientID %>").attr("name"), '');
                            }
                        }
                    });