私のプログラムが同じように感じない現時点では、これは簡単な操作であるはずです。ユーザーが私のビューのフィールドに任意の量のテキストを入力すると、虫眼鏡をクリックして、送信したテキストをコントローラーに送信し、コントローラーが Web サービスを呼び出して会社名を実行できるようにする必要があります。探す。
以下は、ASP MVC 3 コントローラーに 2 つのパラメーターを単純に送信する、私が作成した関数です。Chrome デバッガーとコントローラーの Visual Studio の両方で変数を表示すると、2 番目の項目は常に問題なく通過する searchItem
ことがわかりますnull
。undefined
function GetCompDetails() {
var searchItem = $('#DRMCompanyId').val;
var request = $.ajax({
type: 'POST',
url: '@Url.Action("compSearch", "AgentTransmission")',
data:
{
searchFilter: searchItem,
url: location.protocol + '//' + location.host
},
dataType: 'html',
success: function (data) {
alert(data);
},
error: function (data) {
alert("Unable to process your resquest at this time.");
}
});
}
これが<div>
私が使用しているもので、searchItem
パラメーターを渡す必要があります。ご覧のとおり、テキスト ボックス/入力領域を作成する 2 つの異なる方法を試しました。ただし、どちらもパラメーターを be として渡すことになりますundefined
。
どんな助けでも大歓迎です。
<div class="M-editor-field">
<img src="@Url.Content("~/Content/Images/magnify.gif")" onclick="GetCompDetails()" />
@Html.TextBoxFor(model => model.BankName, new { id = "DRMCompanyId" })
@*@Html.EditorFor(model => model.DRMCompanyId)*@
@Html.ValidationMessageFor(model => model.DRMCompanyId)
</div>
これが私のコントローラーからのメソッド署名です。searchFilter
現在のところundefined
毎回ですが、url
パラメーターは正常に機能します。
[HttpPost]
public string compSearch(string searchFilter, string url)
{