通过 JQuery 打开新浏览器 window 不通过参数发送所有值
Opening a new browser window via JQuery not sending all values via parameters
windows.open() 有问题;
- 框架:Asp.netMVC
- 代码:C#,Razor
- 问题:jquery
当函数触发时,它应该向控制器发送参数
firstname
、lastname
、dob
和 gender
但我遇到了一个问题,它只是发送 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);
}
}
您的 window.open
参数存在重大串联问题。
您使用了 + +
和 firstname, "&"
来断开连接,并且忘记在 window.open
第二个和第三个参数之前传递一个逗号 (,
)。
您还混合了 firstname
和 lastname
变量。
试试这个:
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');
windows.open() 有问题;
- 框架:Asp.netMVC
- 代码:C#,Razor
- 问题:jquery
当函数触发时,它应该向控制器发送参数
firstname
、lastname
、dob
和 gender
但我遇到了一个问题,它只是发送 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);
}
}
您的 window.open
参数存在重大串联问题。
您使用了 + +
和 firstname, "&"
来断开连接,并且忘记在 window.open
第二个和第三个参数之前传递一个逗号 (,
)。
您还混合了 firstname
和 lastname
变量。
试试这个:
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');