我的行动链接如下: <%:Ajax.ActionLink(“linktext”,“actionName”,“controllerName”,new {area =“areaName”, id =“abcd”,productURLName =“choc”},新的AjaxOptions {UpdateTargetId =“SFS”,InsertionMode = InsertionMode.Replace,HttpMethod =“Post”},new {style =“color:#00FF00”})%>
我需要在运行时获取控件的值并将其作为参数传递来代替“abcd”。
在javascript中我可以做getelementbyId。在这种情况下我能做些什么。
为了获得类似的功能,我也尝试了jquery ajax,但是在这种情况下控制器动作甚至没有被调用,至少动作链接工作::
function SendInvite(){
var url = "areaName/controllerName/actionName/" + document.getElementById("BasicUserInfo").value + "?productURLName=choc";
$.post(url, function (data) {
if (data == '<%= Boolean.TrueString %>') {
$("#result").append("Invite Sent");
} else {
$("#result").append("Error, Please try later");
}
});
}
由于 ARNAB
答案 0 :(得分:1)
您可以摆脱MicrosoftAjax并尝试这样:
<%= Html.ActionLink(
"linktext",
"actionName",
"controllerName",
new { area = "areaName", productURLName = "choc" },
new { style = "color:#00FF00", id = "myLink" }
) %>
然后:
$(function() {
$('#myLink').click(function() {
var id = $('#BasicUserInfo').val();
$.post(this.href, { id: id, productURLName: 'choc' }, function(result) {
$('#SFS').html(result);
});
return false;
});
});
答案 1 :(得分:0)
你必须在链接的点击事件中编写你的jquery代码。例如,这是您的链接
<%:Html.ActionLink("linkText", "actionName", "controllerName", new {area="areaName",id = "abcd", productURLName = "choc"}, new {@class="myclass", style = "color:#00FF00" })%>
然后你必须编写挂钩此链接的click事件的jquery函数。这里我使用了类选择器
$(".myclass").live('click', function(){
var url = "areaName/controllerName/actionName/" + document.getElementById("BasicUserInfo").value + "?productURLName=choc";
$.post(url, function (data) {
if (data == '<%= Boolean.TrueString %>') {
$("#result").append("Invite Sent");
} else {
$("#result").append("Error, Please try later");
}
});
return false;
});
你也可以使用
在事件处理程序中获取urlvar url = $(this).attr('href');