2017-08-31 81 views
0

對windows.open()有問題;通過JQuery打開一個新的瀏覽器窗口,不通過參數發送所有值

  • 框架:ASP.NETMVC
  • 代碼:C#,剃刀
  • 問題:jQuery的

當該功能觸發應該將參數傳遞給控制器​​ firstnamelastnamedobgender但我有一個問題,它只是發送firstname和其他參數爲空。當我在客戶端調試它時,它顯示所有參數都有值,但是當它調用動作結果時,它只是發送一個參數。

$(document).ready(function() { 

    $(".ViewGet").click(function() { 
     var firstname = $(this).closest("tr").find(".firstname").text(); 
     var lastname = $(this).closest("tr").find(".lastname").text(); 
     var dob = $(this).closest("tr").find(".dob").text(); 
     var gender = $(this).closest("tr").find(".gender").text(); 

     window.open('@Url.Action("FindClientsFor","ClientSerach")?lastname=' + firstname, "&" + +"firstname=" + lastname + "&dob=" + dob + "&gender=" + 1 + 'popUpWindow', 'height=750, width=960, left=300, top=100, resizable=yes, scrollbars=yes, toolbar=yes, menubar=no, location=no, directories=no, status=yes'); 

    }); 
}); 

控制器

[HttpGet] 
public ActionResult FindClients(string firstname, string lastname, string dob, int? gender,FormCollection collection) 
{ 
    if (IsNullOrEmpty(firstname) || IsNullOrEmpty(lastname) || IsNullOrEmpty(dob) || gender == null) 
    { 
     return RedirectToAction("Index"); 
    } 
    else 
    { 
     var obj = _repo.ClientSearchWithAll(firstname, lastname, dob, gender); 
     //_repo.SortUserNames(obj); 
     return View(obj); 
    } 
} 

回答

1

window.open參數有重大級聯的問題。

您使用+ +firstname, "&"打破了拼接,並且忘記了window.open第二和第三個參數之前傳遞一個逗號(,)。

您還混合了firstnamelastname變量。

試試這個:

window.open('@Url.Action("FindClientsFor","ClientSerach")?lastname=' + lastname + '&firstname=' + firstname+ '&dob=' + dob + '&gender=1', 'popUpWindow', 'height=750, width=960, left=300, top=100, resizable=yes, scrollbars=yes, toolbar=yes, menubar=no, location=no, directories=no, status=yes'); 
相關問題