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

问题描述 投票:0回答:2

我的操作链接如下: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

asp.net-mvc-2 actionlink
2个回答
0
投票

您必须在链接的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');

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;
    });
});
© www.soinside.com 2019 - 2024. All rights reserved.