因此,我有一个包含客户信息的表格,包括他们的姓名、电话、电子邮件等。我将表格设置为有一个单选按钮,可以从该表格中选择一个客户。这个单选按钮调用一个 jQuery 函数,该函数从控制器方法中获取客户的姓名。我正在寻找将 CustomerID 和 CustomerName 都传递给 CustomerEvent 控制器的正确和最佳方法,该控制器返回特定客户的事件视图。如果我尝试使用 AJAX POST,它不会返回data
. 我也尝试过 window.location ,但这也不起作用。
这是剃须刀代码:
@Html.ActionLink("Events ", "../CustomerEvent/Index", null, new { id = "btnEventsCustomerID" })
jQuery:
jQuery('input[type=radio]').change(function () {
jQuery('#hdnCustomerID').val($(this).val());
var CustomerID = jQuery('#hdnCustomerID').val();
var CustomerName = null;
$.ajax({
url: '/Customer/GetCustomerName',
data: { id: CustomerID },
type: "GET",
async: false,
cache: false,
success: function (data) {
CustomerName = data
}
});
alert(CustomerName);
jQuery('#btnEventsCustomerID').click(function () {
window.location = "/CustomerEvent/Index/?CustomerID=" + CustomerID + "&CustomerName=" + CustomerName;
});
CustomerName 警报运行正常。这是我返回客户事件视图的控制器方法:
public ActionResult Index(int CustomerID = 0, string CustomerName="")
{
if (CustomerID != 0)
{
Session["CustomerID"] = CustomerID;
Customer CustomerObj = _customer.GetCustomer(CustomerID);
Session["CustomerName"] = CustomerObj.FirstName + " "+ CustomerObj.LastName;
}
return View(_customerEvent.GetCustomerEventCustomList(CustomerID));
}