C# 从通过BindProperty传递的razor页面获取数据
更新:我有两个Razor页面,在第一个页面我获得了个人信息,在第二个页面我将从第一个页面提交信息的人那里获得项目信息,在第二个页面(ProjectInformation table)我保存了与第一个页面(projectOwner table)相关的数据personId中的信息 更新结束 我在razorPage中传递“用户电子邮件”,就像这样C# 从通过BindProperty传递的razor页面获取数据,c#,.net-core,asp.net-core-mvc,razor-pages,C#,.net Core,Asp.net Core Mvc,Razor Pages,更新:我有两个Razor页面,在第一个页面我获得了个人信息,在第二个页面我将从第一个页面提交信息的人那里获得项目信息,在第二个页面(ProjectInformation table)我保存了与第一个页面(projectOwner table)相关的数据personId中的信息 更新结束 我在razorPage中传递“用户电子邮件”,就像这样 [BindProperty] public string OwnerEmail { get; set; } public IActionResu
[BindProperty]
public string OwnerEmail { get; set; }
public IActionResult OnGet(string OwnerId)
{
OwnerEmail = OwnerId;
return Page();
}
@page
@model Sunn.Raz.Pages.Order.ProjectOrderModel
@using Sunn.Model
@{
ViewData["Title"] = "ProjectOrder";
}
<h4>ProjectOrder</h4>
@Model.OwnerEmail
在这样的电视节目中
[BindProperty]
public string OwnerEmail { get; set; }
public IActionResult OnGet(string OwnerId)
{
OwnerEmail = OwnerId;
return Page();
}
@page
@model Sunn.Raz.Pages.Order.ProjectOrderModel
@using Sunn.Model
@{
ViewData["Title"] = "ProjectOrder";
}
<h4>ProjectOrder</h4>
@Model.OwnerEmail
@page
@模型Sunn.Raz.Pages.Order.ProjectOrderModel
@使用Sunn.Model
@{
ViewData[“Title”]=“ProjectOrder”;
}
项目订单
@Model.OwnerEmail
我在RasorPage中有UserEmail,现在当用户点击submit按钮时,我想再次看到电子邮件发送到OnPost()方法
public async Task<IActionResult> OnPostAsync()
{
var ownerId = _context.ProjectOwners.Where(x => x.Email == OwnerEmail).Select(m => new { m.Id });
}
公共异步任务OnPostAsync()
{
var ownerId=_context.ProjectOwners.Where(x=>x.Email==OwnerEmail)。选择(m=>new{m.Id});
}
但是userEmail为Null,
如何在OnPostAsync()中拥有用户电子邮件(OwnerEmail)的价值?
更新2:
在Razor页面中访问我们的财产使用方式如下
<div class="form-group">
<label asp-for="ProjectOrder.ProjectOwnerId" class="control-label"></label>
<select asp-for="ProjectOrder.ProjectOwnerId" class="form-control" asp-items="ViewBag.ProjectOwnerId"></select>
</div>
在“ProjectOwnerId”之前使用“ProjectOrder”是指
我在代码中设置了第一个答案,但在onPostAsync()中,“ProjectOwnerId”为零
<input type="hidden" asp-for="OwnerEmail" />
在Razor页面上,提交表单时只显示
OwnerEmail
的值,但不发布其数据。尝试添加隐藏类型输入,以使其:
<form method="post">
<h4>ProjectOrder</h4>
@Model.OwnerEmail
<input type="hidden" asp-for="OwnerEmail"/>
<button type="submit">
Submit
</button>
</form>
项目订单
@Model.OwnerEmail
提交
谢谢你的帮助
我确实喜欢这样,但我不确定这是最好的方式,但这是工作
在所示示例中,您在哪里有
UserEmail
。当前状态下的问题也不完整,因此不清楚。我更新并描述了scenariofor razor视图但是在使用modelbinding的razor页面中working@sunny当我尝试使用razor页面时,它是有效的。但是我只有一个页面,而你有两个页面,这是不同的吗?你能解释更多关于你的代码吗?谢谢你的帮助,我更新了代码,并描述了绑定属性仍然不起作用