0

我有一个简单的 ASP MVC3@Html.TextBox用于输入搜索条件。但是,我需要将该值作为查询字符串附加到 Ajax 调用中的 URL。我该怎么办?下面是视图中的 HTML:

<div class="editor-field">
    @Html.TextBox("searchString")
    <span onclick='GetCompName(searchString);'>
        <input type="image" src="@Url.Content("~/Content/Images/Filter.bmp")" alt="Filter" />
    </span>
</div>

这是阿贾克斯

function GetCompName(searchString) {
    var request = $.ajax({
        type: 'POST',
        url: 'http://quahildy01/OrganizationData.svc/AccountSet?$select=AccountId,Name,neu_UniqueId&$filter=startswith(Name,' + searchString + ')',            
        dataType: 'html',
        success: function (data) {
            alert(data);
        },
        error: function (data) {
            alert("Unable to process your resquest at this time.");
        }
    });
}

我还想将返回的值输出到另一个文本框中。如果有人知道如何做到这一点,那也将非常有帮助。谢谢!

4

1 回答 1

3

您的代码的基本问题是 searchStringonclick='GetCompName(searchString);总是字面意思是“serchString”,您必须在输入中的值的基础上指定参数,就像这样$('.searchbox').val()

保持你的 javascript 通畅。

HTML 代码

<div class="editor-field">
    @Html.TextBox("searchString", null, new { @class = "serachbox" })
    <span class="searchbox-trigger">
        <input type="image" src="@Url.Content("~/Content/Images/Filter.bmp")" alt="Filter" />
    </span>
</div>

为事件跨度单击设置 de 处理程序

$(document).ready(function() {
  $('.searchbox-trigger').click(GetProgramDetails);
});

和你的ajax请求

function GetProgramDetails() {
    var request = $.ajax({
        type: 'POST',
        url: 'http://quahildy01/OrganizationData.svc/AccountSet?$select=AccountId,Name,neu_UniqueId&$filter=startswith(Name,' + $('.searchbox').val() + ')',            
        dataType: 'html',
        success: function (data) {
            alert(data);
        },
        error: function (data) {
            alert("Unable to process your resquest at this time.");
        }
    });
}
于 2013-03-19T16:01:39.023 回答