问题在于:我有一个Ajax.ActionLink(),我需要在textbox中为routeValues提供一个值:
@Ajax.ActionLink("Purchase Tracking", "StatusOfFactor", "Shopping", new { guid = HERE I WANT A JAVASCRIPT FUNCTION TO RETRIEVE VALUE FROM TEXTBOX } , ajaxOptions: new AjaxOptions { UpdateTargetId = "StatusOfFactor", HttpMethod = "GET", InsertionMode = InsertionMode.Replace }, htmlAttributes: new { @class = "btnpeyment btn btn-xs bg-color-btn" })
我该如何实施呢?
答案 0 :(得分:0)
RewriteEngine On
将ID替换为您正在使用的ID。
注意:如果通过AJAX调用将文本框放在页面上,则需要使用事件委派来完成此工作,将其委托给最初在页面上加载的父容器。
答案 1 :(得分:0)
你可以替换Ajax.ActionLink
并自己编写一些javascript代码来实现你的目标。
首先,我们将使用普通的锚标记
替换Ajax操作链接<a id="purchasTrackingLink" class="btnpeyment"
href="@Url.Action("StatusOfFactor","Shopping")">Purchase Tracking</a>
<input id="YourTextBoxId" />
现在连接此链接上的click事件,阻止默认行为,读取文本框的值并使用它来生成新的目标URL并将其用于ajax call.p
$(function(){
$("#purchasTrackingLink").click(function(e){
e.preventDefault();
var textBoxVal=$("#YourTextBoxId").val();
var url=$(this).attr("href");
url=url+"?guid="+textBoxVal;
//Now make the ajax call
$.get(url,function(response){
$("#StatusOfFactor").html(response);
});
});
});