asp.net mvc2 actionlink,参数类似于getelementbyid

时间:2011-03-24 03:52:54

标签: asp.net-mvc-2 actionlink

我的行动链接如下: <%: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

2 个答案:

答案 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;


    });

你也可以使用

在事件处理程序中获取url
var url = $(this).attr('href');