我的操作链接如下:id =“ abcd”,productURLName =“ choc”},新的AjaxOptions {UpdateTargetId =“ SFS”,InsertionMode = InsertionMode.Replace,HttpMethod =“ Post”},新建{style =“ color:#00FF00”})%>
我需要在运行时中获取控件的值,并将其作为参数来代替“ abcd”。
在javascript中,我可以执行getelementbyId。在这种情况下我能做些什么。
为了获得类似的功能,我也尝试了jquery ajax,但是在那种情况下,甚至没有调用控制器动作,至少动作链接有效::
函数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
您必须在链接的click事件上编写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;
});
您还可以使用以下方法在事件处理程序中获取URL:
var url = $(this).attr('href');
您可能会摆脱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;
});
});