2013-03-19 2 views
0

У меня есть простой ASP MVC3 @Html.TextBox, который я использую для ввода критериев поиска. Однако мне нужно добавить значение к URL-адресу в вызове Ajax в качестве строки запроса. Как я могу это сделать? Ниже приведен HTML в представлении:Пропустить текстовое поле ASP MVC3 для вызова Ajax

<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."); 
     } 
    }); 
} 

Я также хочу, чтобы вывести возвращаемое значение в другое текстовое поле. Если кто-то знает, как это сделать, это тоже будет полезно. Благодаря!

ответ

3

основная проблема с вашим кодом является SearchString в onclick='GetCompName(searchString); всегда будет буквально «serchString», вы должны указаны параметру в базе значения на входе, как этот $('.searchbox').val()

держать ваш JavaScript unobstructive.

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> 

Set-де-обработчик для события пролете нажмите

$(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."); 
     } 
    }); 
} 
+0

Эта линия, кажется, бросает ошибку: '@Html .TextBox ("searchString", Nothing, new с {.class = "searchbox"}) ' – NealR

+0

VS не нравится' Nothing', или 'New With' ключевые слова (?) – NealR

+0

Не могли бы вы подробнее рассказать об этой части ответа? Относительно новичок в ASP MVC и ранее не видел этого синтаксиса. – NealR

Смежные вопросы