simpledeveloper Ответов: 0

Необходимо разнести значения из формы в метод действия, который имеет другое представление, связанное с ним


Привет,

У меня есть довольно большая форма, которая имеет несколько полей, мне нужно передать значения этих полей методу действия, присвоить некоторые значения другому представлению и открыть его. Я пытался опубликовать эти значения с помощью ajax post метод действия выполняется, но представление остается прежним.
Я не использовал привязку модели для первого представления, из которого я отправляю значения в метод действия, поэтому я попытался использовать вызов ajax, есть ли какой-либо способ, которым я могу отправить значения в метод действия и передать в новое представление, которое я хотел после выполнения метода действия с помощью вызова ajax.
Я знаю, что могу достичь этого с помощью привязки модели и отправки, но у меня нет модели для представления, поэтому я могу сделать это с помощью самого вызова ajax.
Мой AJAX-вызов и методов действий, как показано ниже:
$("#btnChangeReport").click(function ()
{
    debugger;
    var res;
    var token = $('[name=__RequestVerificationToken]').val();

    $.ajax({
        type: "POST",
        url: '@Url.Action("ShowLegalEntityReport", "Report")',
        contentType: "application/json;charset=utf-8",
        dataType: 'json',
        async: false,
        headers: { '__RequestVerificationToken': token },
        data: JSON.stringify({
            'legalEntityNumber': txtLegalEntityNumber.value, 'lENumOperator': "", 'legalEntityName': txtLegalEntityName.value, 'lENameOperator': ""
            , 'taxId': txtTaxId.value, 'taxIdOperator': "", 'submittingCounty': $('#idDDLForCounty').val(), 'submCountyOperator': "", 'legalEntityCity': txtLegalEntityCity.value, 'lECityOperator': ""
        }),
        success: function (result)
        {

        }
    });
});


Метод действия таков, как показано ниже:
public ActionResult ShowLegalEntityReport(string legalEntityNumber, string lENumOperator, string legalEntityName, string lENameOperator
    , string taxId, string taxIdOperator, string submittingCounty, string submCountyOperator, string legalEntityCity, string lECityOperator)
{
    ReportViewer reportViewer = new ReportViewer();
    reportViewer.ProcessingMode = ProcessingMode.Local;
    reportViewer.SizeToReportContent = true;
    reportViewer.Width = Unit.Percentage(900);
    reportViewer.Height = Unit.Percentage(700);

    DataRetrieveServiceClient drsc = new DataRetrieveServiceClient();

    DataTable dt = CommonFunctions.ToDataTable(drsc.GetLegalEntityReport(legalEntityNumber, lENumOperator, legalEntityName, lENameOperator, taxId, taxIdOperator
        , submittingCounty, submCountyOperator, legalEntityCity, lECityOperator));

    reportViewer.LocalReport.ReportPath = Request.MapPath(Request.ApplicationPath) + @"\Reports\LegalEntityReport.rdlc";
    reportViewer.LocalReport.DataSources.Add(new ReportDataSource("LegalEntityDataSet", dt));

    ViewBag.ReportViewer = reportViewer;

    return View();
}


Пожалуйста, помогите мне в этом отношении любая помощь ценится - заранее спасибо

Что я уже пробовал:

гуглить искать просить коллег о любой возможной помощи

F-ES Sitecore

Html-код вашего представления возвращается в параметре "результат" вашего метода успеха, но вы ничего с ним не делаете, поэтому вызываете действие и игнорируете результаты. Если вы хотите, чтобы этот html-код появился где-то на странице, вам нужно будет ввести его в DOM. Это действительно сработает только в том случае, если это частичный взгляд. Если это полный вид и вы хотите изменить всю страницу, то не используйте ajax вообще, просто опубликуйте форму, ajax действительно используется только тогда, когда вы хотите обновить часть страницы.

0 Ответов