0

@Html.TextBox検索条件を入力するために使用している単純な ASP MVC3があります。ただし、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

コードの基本的な問題は、searchString がonclick='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>

イベント スパン クリックのハンドラーを設定する

$(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 に答える