【发布时间】:2020-07-07 09:28:39
【问题描述】:
只是一个简单的问题。 我有一个带有级联组合框的页面...... 因此,如果用户从第一个 Combobox 中选择任何项目,那么网站会从服务器请求中获取第二个组合框项目...
如果我在获取第二个数据时出现问题,我们的问题是,如果出现错误,我希望网站重定向到 ErrorView 而不是 ComboBox View。
JQUERY
$("#SelectedProductTypeID").change(function () {
var pType = $("#SelectedProductTypeID").val();
var url = '@Url.Content("~/")' + "User/GetProductNameList";
var ddlsource = "#SelectedProductTypeID";
$.getJSON(url, { pTypeId: pType }, function (data) {
if (typeof (data.errorMessage) != undefined) {
alert(data.errorMessage);
}
var items = '';
$("#SelectedProductNameID").empty();
$.each(data, function (i, row) {
items += "<option value='" + row.value + "'>" + row.text + "</option >";
});
$("#SelectedProductNameID").html(items);
});
});
控制器操作
public JsonResult GetProductNameList(int pTypeId)
{
var (list, error) = productRepository.GetProductList(configuration);
if (!string.IsNullOrEmpty(error))
{
return Json(new { ErrorMessage = "Fail to get product name list" });
}
.....
......
return Json(ProductNameList);
}
我想重定向到共享文件夹中的错误视图,而不是显示警报。
我试过这个而不是警告
var errorUrl = '@Url.Content("~/")' + "User/ErrorPage";
$.ajax({
url: errorUrl, success: function (data) {
}
});
使用新的错误操作,但没有工作。不过,我要去同一个视图。错误视图不显示。
public IActionResult ErrorPage(string errorText)
{
return View("Error",
new ErrorViewModel
{
ActionName = " ",
ControllerName = "UserController - ",
ErrorMessage = errorText
});
}
【问题讨论】:
标签: jquery model-view-controller