使用ajax调用提交jquery对话框

时间:2013-06-14 23:09:20

标签: jquery-ui jquery asp.net-mvc-4 razor

我正在尝试使用jquery ui对话框进行搜索,并且结果也会显示在对话框中,而实际页面上没有任何重定向。我想一个简单的方法就是创建我的ui并且有一个< div id>围绕内容,然后使用ajax调用将视图替换为视图。

我已经掌握了这项工作的基础知识,但是......我不知道如何将输入字段参数传递给传入的视图/控制器!它目前没有以任何形式或形式使用submit(),因为这会导致不可避免的页面重定向。

我的对话框包含标准文本字段,例如:

@Html.HiddenFor(model => model.Id)
<label>Customer Name</label>
@Html.TextBoxFor(m => m.Name, new { @class = "text ui-widget-content ui-corner-all" })
<label>EIN</label>
@Html.TextBoxFor(m => m.Ein, new { @class = "text ui-widget-content ui-corner-all" })
<label>State Tax ID Number</label>
@Html.TextBoxFor(m => m.StateTaxId, new { @class = "text ui-widget-content ui-corner-all" })

我有一个对话框div的占位符

<div id="dialog-searchResults" title="Search Results" class="hide">
@using (Html.BeginForm("searchResults", "Customers", FormMethod.Post, new { @id = "searchResultForm" }))
{
<div id="SearchContents">a</div>
}
</div>

ajax电话

function InsertDialogDiv(ajaxUrl, divTable) {
var jsonData = {
        "id": 0
    };
    $.ajax({
        type: 'POST',
        url: BASE_URL + ajaxUrl,
        data: JSON.stringify(jsonData),
        success: function (data) {
            $(divTable).replaceWith(data);
        },
        error: function (xhr, ajaxOptions, thrownError) {
            $(divTable).replaceWith(xhr.responseText);
        }
    });
}

其中ajaxUrl ='Customer / SearchResults'作为视图的路径。

以这种方式替换div会触发客户的控制器点击SearchResults函数,但由于我没有提交,因此模型具有所有空值。我如何获得我宝贵的信息?

TY&amp;老鼠离开了你!

PS:ASP.NET C#MVC4 Razor

0 个答案:

没有答案