提交到 ASP.NET RAZOR 页面中的另一个 url

问题描述 投票:0回答:3

我需要帮助,我需要将包含隐藏字段的 html 表单提交到另一个 URL,其中隐藏字段的值有些是静态的,有些是动态的(来自代码隐藏)在 web 表单中,现在我需要从asp.net razor 页面,使用我的代码,仅检测到一个隐藏字段值,感谢您的帮助.. 另外,如果我知道如何提交到其他网址! 下面是我的代码

     model class name : jcc

        [BindProperty]
        public string Version { get; set; }

        [BindProperty]
        public string MerID { get; set; }

        [BindProperty]
        public string AcqID { get; set; }
       

sendto.cshtml

    @page
@addTagHelper*, Microsoft.AspNetCore.Mvc.TagHelpers
@model saderlexstore.Pages.Admin.sendtoJCCModel
@{
    ViewData["Title"] = "JCC Required Info";
}





<!DOCTYPE html>
<html lang="en">
<head>
    <script>

        function sss() {

            document.forms["paymentForm"].submit();

        }
    </script>


</head>
<body>
    <form method="post" name="paymentForm" id="paymentForm" >


        <input type="text" name="Version" id="Version" asp-for="jccgetter.Version" />

        <br />
        <input type="text" name="MerID" id="MerID" asp-for="jccgetter.MerID" />
        <br />

        <input type="text" name="AcqID" id="AcqID" asp-for="jccgetter.AcqID" />

sendto.cshtml.cs

     [BindProperty]
        public JCC  jccgetter { get; set; }

        public void OnGet()
        {
            this.jccgetter = new JCC { Version = "1.0.0" };
            this.jccgetter = new JCC { MerID = "0011223344" };
            this.jccgetter = new JCC { AcqID = "402971" };

        }

        public void OnPostSubmit()
        {

           JCC jcc = this.jccgetter;}
c# asp.net asp.net-core razor
3个回答
0
投票

我不太确定您的具体目标是什么,但如果您想将提交的数据从一个 Razor 页面发送到另一个 Razor 页面,您应该使用参数

RedirectToPage
。例如

   public async Task<IActionResult> OnPost()
    {
        if (!ModelState.IsValid)
        {
            return Page();
        }


        return RedirectToPage("./SendTo", new { version = Version, merID = MERID, acqID = AcqID  });
    }

在目标页面上,您应该有一个

Get
接受并处理参数的方法

    public async Task<IActionResult> OnGet(string version, string merId, string acqID)
    {
        //Do something with the parameters
        return Page();
    }

0
投票

首先,在你的

OnGet()
中,你用一个新的JCC模型设置了jccgetter 3次,所以最后它会被设置为
new JCC { AcqID = "402971" };
。如果你想设置
jccgetter
的属性,你可以通过以下方式设置属性1.如果你想提交表单到
OnPostSubmit
,你可以使用
asp-page-handler
<form></form>
。这是一个工作演示:

cshtml.cs:

[BindProperty]
        public JCC jccgetter { get; set; } = new JCC();
 public void OnGet()
        {
            this.jccgetter.Version="1.0.0" ;
            this.jccgetter.MerID = "0011223344";
            this.jccgetter.AcqID = "402971";

        }

        public void OnPostSubmit()
        {

           JCC jcc = this.jccgetter;
        }

cshtml:

<form method="post" name="paymentForm" id="paymentForm" asp-page-handler="Submit">


    <input type="text" name="Version" id="Version" asp-for="jccgetter.Version" />

    <br />
    <input type="text" name="MerID" id="MerID" asp-for="jccgetter.MerID" />
    <br />

    <input type="text" name="AcqID" id="AcqID" asp-for="jccgetter.AcqID" />
    <input type="submit" value="submit" />
</form>

结果: enter image description here


0
投票

在此输入图片描述

在此输入图片描述

首先在同一页面的表单上提交,并通过隐藏字段的值将其重定向到您想要的页面

© www.soinside.com 2019 - 2024. All rights reserved.