查询字符串不将值传递给控制器

时间:2015-01-29 05:06:27

标签: asp.net-mvc-5 asp.net-ajax

通过querystring将少量值传递给控制器​​中的testFn(),使用下面的代码。但是在testFn中,我得到的是null值。当我对companyName,rdVal等保持警惕时。它显示正确的值。但那些并没有传递给控制者。请告诉我出了什么问题。

查看:

@Html.ActionLink("Search", null, null, new { id = "lnkSearchMaster", @class = "btn btn-success", onclick = "return lnkgotoAction();" })


function lnkgotoAction() { 
    $('#grdSearchResults').show();
    $('#searchdetails').show();
    var rdVal = $("input[name = SearchType]:checked").attr("id");
    if (rdVal == "CompanyList" || rdVal == "CompanyHistory" || rdVal == "ApplicationSatatus" || rdVal == "Certificates") {

        $('#grdSearchResults').show();
        var companyName = $('#companyname').val();
        var status = $('#status').val();
        var regNo = $('#registrationno').val();
        var appRegNo = $('#applicationrefferenceno').val();

        var url = '@Url.Content("~/")' + "Search/testFn?test='" + rdVal + "'&companyName='" + $('#companyname').val() +
                    "'&regNum='" + $('#registrationno').val() + "'&appRegNum='" + $('#applicationrefferenceno').val() + "'";
        alert(url);
    }

    $('#grdSearchResults').load(url + ' #grdSearchResults');
    TempData.clear();
    $('#grdSearchResults').show();
    $('#searchdetails').show();

    return false;
}

控制器:

 public ActionResult testFn(string test, string companyName, string regNum, string appRegNum)
    {}

1 个答案:

答案 0 :(得分:-1)

尝试如下,它会对您有所帮助,也始终注意传递给querystring的变量名称必须与控制器动作参数名称匹配。

@Html.Raw(Url.Action("testFn", "Search"), new{ test= rdVal , companyName= companyName , regNum= regNo , appRegNum= appRegNo })