0

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

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

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

@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 & Rat 出发啦!

PS:ASP.NET C# MVC4 Razor

4

0 回答 0