我需要帮助,我需要将包含隐藏字段的 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;}
我不太确定您的具体目标是什么,但如果您想将提交的数据从一个 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();
}
首先,在你的
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>