0
這應該是一個簡單的操作,此時我的程序感覺不一樣。當用戶在我的視圖中輸入任意數量的文本時,他們應該能夠點擊放大鏡,將它們發送到控制器的文本發送到控制器,然後調用Web服務並執行公司名稱搜索。jQuery/Ajax將未定義參數傳遞給ASP MVC控制器
下面是我創建的一個函數,它只是向ASP MVC 3控制器發送兩個參數。當我在控制器中的Chrome調試器和Visual Studio中查看變量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.");
}
});
}
這裏是我使用應經過searchItem
參數<div>
。正如你所看到的,我嘗試了兩種不同的方法來創建文本框/輸入區域。然而,兩者都通過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)
{
哈,好,謝謝。想象它會是這樣的(過了漫長的一天......) – NealR 2013-04-22 22:28:15
好吧,完美!樂於幫助。如果答案對你有幫助,不要忘記接受答案和/或祝好。 – Kenneth 2013-04-22 22:29:06