我正在做一个带有按钮的经典搜索字段。我正在为按钮使用 Ajax.ActionLink,但我不知道如何获取 ActionLink 中发布的文本框值。我看起来像这样:
<div class="input-append">
<input type="text" id="Company_CompanyName" />
@Ajax.ActionLink("search",
"CompanySearch",
new { searchString = "???" },
new AjaxOptions
{
HttpMethod = "GET",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "CompanySearchResults"
},
htmlAttributes: new { @class = "btn" })
</div>
<div id="CompanySearchResults"></div>
在哪里???是,我不知道如何从中的文本框中获取值。我该怎么办?
更新 1:它是一个嵌套形式
正如我应该在原始帖子/问题中提到的那样,这是一个嵌套表单,即有一个要提交的外部表单。因此,如果我创建一个 Ajax.BeginForm() 并在其中提交,它将调用外部表单的提交。我显然想避免这种情况。
最佳答案
好的,所以,我会尝试将其设为“哑”链接/按钮并处理通过 javascript 传递的所有信息。它看起来像下面这样。
我认为以下脚本中存在语法错误,因此仅将其用作指南。
<input type="text" id="Company_CompanyName" />
<a href="#" id ="CompanySearch" class="btn">Search</a>
<div id="CompanySearchResults"></div>
<script type="text/javascript">
$('#CompanySearch').click(function() {
var searchTerm = $("#Company_CompanyName").text();
$.ajax({
url: @Url.Action("search","CompanySearch") ,
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: {'SearchTerm' : searchTerm} // JSON.stringify(searchTerm),
success: function(result) {
$('#CompanySearchResults').html(result);
}
});
return false;
});
</script>
关于asp.net-mvc-4 - 在 MVC 4/Razor 中获取 Ajax ActionLink 的文本框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15587733/